From d1151367f7b5afd716804f570a23f6a04c16b292 Mon Sep 17 00:00:00 2001 From: bernini Date: Mon, 11 Oct 2021 15:29:00 +0200 Subject: [PATCH 001/211] Update README.md --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d8f676545..ec9611671 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,17 @@ # NFV API Conformance Test Specification (NFV-TST 010) This repository hosts the NFV API Conformance test specification for -the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf), -[SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf), -[SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_NFV-SOL005v030301p.pdf), -[SOL009](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf), +the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf), +[SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf), +[SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_NFV-SOL005v030501p.pdf), +[SOL009](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_NFV-SOL009v030501p.pdf), [SOL011](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/011/03.03.01_60/gs_NFV-SOL011v030301p.pdf), in their versions v3.3.1 and [SOL012](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_NFV-SOL012v030401p.pdf) in its version v3.4.1. -More information and download is available at [DGS/NFV-TST010ed331](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=58931). +More information and download is available at [DGS/NFV-TST010ed351]. + +**{- Disclaimer: The content of this repository is under development and related to a DRAFT, i.e. a working document, of ETSI ISG NFV.-}** + ## Available versions -- GitLab From 3949030d92d1a67bcf446706e8887bdb2521cac8 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 12:50:45 +0500 Subject: [PATCH 002/211] update schemas --- .gitignore | 1 + .../schemas/ChangeStateNotification.json | 288 +++---- .../schemas/ChangeStateOpOcc.json | 162 ++-- .../schemas/ChangeStateOpOccs.json | 21 +- .../schemas/CimSubscription.json | 204 ++--- .../schemas/CimSubscriptions.json | 25 +- .../InformationChangedNotification.json | 154 ++-- .../schemas/ManoConfigModifications.json | 169 ++--- .../schemas/ManoEntity.json | 701 ++++++++++-------- .../schemas/ManoServiceInterface.json | 372 +++++----- .../ManoServiceInterfaceModifications.json | 186 ++--- .../schemas/ManoServiceInterfaces.json | 88 +-- .../schemas/PeerEntities.json | 65 +- .../schemas/PeerEntity.json | 387 +++++----- SOL009/README.md | 2 +- 15 files changed, 1433 insertions(+), 1392 deletions(-) diff --git a/.gitignore b/.gitignore index 1b6e272e0..4655030ac 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +.vscode/ diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json index fc3b68c99..960b9e7d0 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json @@ -1,151 +1,151 @@ { - "description": "This type represents a Change state operation occurrence.\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "stateChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOperationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "required": [ + "type", + "objectId" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeStateOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "subscription", - "objectInstance", - "changeStateOpOcc" - ] - } - }, - "required": [ - "id", - "notificationType", - "subscriptionId", - "timestamp", - "changeStateOpOccId", - "stateChangedTime", - "changeStateOperationState", - "managedObjectRef", - "_links" - ] - } \ No newline at end of file + "changeStateOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json index f9238e4d2..b0c3c9178 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json @@ -1,85 +1,85 @@ { - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] }, - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ] - } \ No newline at end of file + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json index 7c203be47..9f57c2454 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json @@ -1,7 +1,15 @@ -{ "type": "array", - "items": { +{ + "type": "array", + "items": { "description": "This type represents a Change state operation occurrence. \n", "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -75,13 +83,6 @@ "operationParams": { "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" } - }, - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ] + } } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json index 819a5d99e..1a7e924ed 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json @@ -1,113 +1,113 @@ { - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { "type": "string" } } } }, - "required": [ - "self" - ] + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } } }, - "required": [ - "id", - "callbackUri", - "_links" - ] - } \ No newline at end of file + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json index 6ac082d31..a7578f88d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json @@ -1,14 +1,20 @@ -{ "type": "array", - "items": { +{ + "type": "array", + "items": { "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", "type": "object", "properties": { "manoEntitySubscriptionFilter": { @@ -67,7 +73,7 @@ } }, "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", "type": "array", "items": { "type": "string", @@ -105,13 +111,6 @@ "self" ] } - }, - "required": [ - "id", - "callbackUri", - "_links" - ] - } - - + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json index 941a4bb5c..696f45239 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json @@ -1,81 +1,81 @@ { - "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "informationChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changedInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "self" - ] - } - }, - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "informationChangedTime", - "manoEntityId", - "changedInfo", - "_links" - ] - } \ No newline at end of file + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json index 7970b361e..ea15fde7d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json @@ -1,99 +1,86 @@ { - "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "string" - }, - "clockSyncs": { - "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "description": "This type represents parameters for connecting to an NTP server. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", - "type": "string", - "enum": [ - "NTP", - "OTHER" - ] - }, - "ntpServerInfo": { - "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", - "type": "object", - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "hostname": { - "description": "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", - "type": "string" - } + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. See note.\n", + "type": "string" } - }, - "otherClockSyncParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } }, - "required": [ - "id", - "type" - ] - } - }, - "clockSyncsDeleteIds": { - "description": "If present, this attribute signals modifications of certain entries in \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } - }, - "defaultLogCompileBySizeValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "defaultLogCompileByTimerValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "manoServiceModifications": { - "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", - "type": "string" - } + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" }, - "required": [ - "id" - ] - } + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json index 388b9e00e..b78f2a698 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json @@ -1,192 +1,272 @@ { - "description": "This type represents an NFV-MANO functional entity.\n", - "type": "object", - "required": [ - "id", - "type", - "name", - "description", - "provider", - "softwareVersion", - "manoConfigurableParams", - "manoApplicationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM" - ] - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "provider": { - "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", - "type": "string" - }, - "softwareVersion": { - "description": "The version of the software of the NFV-MANO functional entity. $ref: \"../components/SOL009_schemas.yaml#/components/schemas/Version\"\n" - }, - "manoEntityComponents": { - "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n", - "type": "array", - "items": { - "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", - "type": "object", - "properties": { - "id": { + "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "type": "array", + "items": { "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" - }, - "manoServiceIds": { - "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } } + } + } + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", + "type": "object", + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" }, - "required": [ - "id" + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + } + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" ] } - }, - "manoServices": { - "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", - "type": "array", - "items": { - "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity.\n", + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", + "type": "object", + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ], + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", "type": "object", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] }, - "name": { - "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "standardVersion": { + "description": "A version.\n", "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] }, - "description": { - "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "standardVersion": { + "description": "A version.\n", "type": "string" - }, - "manoServiceInterfaceIds": { - "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "minItems": 1 - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "manoServiceInterfaces": { - "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "minItems": 1 - } - }, - "required": [ - "manoServiceInterfaces" - ] } }, "required": [ - "id", - "name", - "description", - "manoServiceInterfaceIds", - "_links" + "nsdFormat", + "standardVersion" ] } - }, - "manoConfigurableParams": { - "description": "# Warning: No definition found in the document ManoConfigurableParams\n" - }, - "manoApplicationState": { - "description": "Information and current values of the NFV-MANO functional entity’s application state. \n", - "type": "object", - "required": [ - "operationalState", - "administrativeState", - "usageState" - ], - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - }, - "nfvoSpecificInfo": { - "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. \n", - "type": "object", - "properties": { - "maxOnboardedNsdNum": { - "description": "Maximum number of NSDs that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", - "type": "integer" - }, - "maxOnboardedVnfPkgNum": { - "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", - "type": "integer" + } + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", + "type": "object", + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ], + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { "type": "object", "properties": { "vnfdFormat": { @@ -207,169 +287,148 @@ "standardVersion" ] }, - "supportedNsdFormats": { - "description": "Supported NSD data formats.\n", - "type": "object", - "properties": { - "nsdFormat": { - "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } + "minItems": 1 + } + } + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "wimSpecificInfo": { + "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", + "type": "object", + "required": [ + "maxMscsNums", + "maxMsncNum", + "mscsLayerProtocolSupport" + ], + "properties": { + "maxMscsNums": { + "description": "Maximum number of MSCS that the WIM can manage.\n", + "type": "object", + "required": [ + "numMscs" + ], + "properties": { + "numMscs": { + "description": "Maximum number of MSCS.\n", + "type": "integer" }, - "required": [ - "nsdFormat", - "standardVersion" - ] + "criteriaNumMscs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } }, - "required": [ - "supportedVnfdFormats", - "supportedNsdFormats" - ] - }, - "vnfmSpecificInfo": { - "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity.\n", - "type": "object", - "properties": { - "resoruceMgmtModeSupport": { - "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", - "type": "string", - "enum": [ - "DIRECT", - "INDIRECT", - "BOTH" - ] - }, - "managedVnfInstanceInfos": { - "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] + "maxMsncNum": { + "description": "Maximum number of MSNC that the WIM can manage\n", + "type": "object", + "required": [ + "numMsnc" + ], + "properties": { + "numMsnc": { + "description": "Maximum number of MSNC..\n", + "type": "integer" }, - "minItems": 1 + "criteriaNumMsnc": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } }, - "required": [ - "resoruceMgmtModeSupport", - "managedVnfInstanceInfos", - "supportedVnfdFormats" - ] - }, - "vimSpecificInfo": { - "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "manoServiceInterfaces", - "peerEntities", - "changeState", - "changeStateOpOccs" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "mscsLayerProtocolSupport": { + "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", + "type": "string", + "enum": [ + "EVPN_BGP_MPLS", + "EVPN_VPWS", + "VPLS_BGP", + "VPLS_LDP_L2TP", + "VPWS_LDP_L2TP", + "BGP_IP_VPN" + ] + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "manoServiceInterfaces": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "manoServiceInterfaces": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "peerEntities": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "peerEntities": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeState": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "changeState": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeStateOpOccs": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "changeStateOpOccs": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json index 16b7cc3fe..bcedca867 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json @@ -1,215 +1,215 @@ { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { "type": "object", "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "operationName": { + "description": "Name of the operation supported on the interface.\n", "type": "string" }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" } }, "required": [ - "apiUri" + "operationName" ] }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", - "type": "integer" - } - }, - "required": [ - "operationName" + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" ] }, - "minItems": 1 + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { "type": "string", "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" + "TLS_TUNNEL", + "OAUTH2" ] }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } + "minItems": 1 }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "webFingerHost" - ] - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "authServerId" - ] - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", - "type": "array", - "items": { + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "tlsTunnelCipherSuites" - ] + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } } }, - "required": [ - "authType", - "oauthServerInfo" - ] - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } } }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ] - } \ No newline at end of file + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json index 080fc11f2..696a8c11e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json @@ -1,105 +1,105 @@ { - "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", - "type": "string" - }, - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "webFingerHost" - ] - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "authServerId" - ] - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", - "type": "array", - "items": { + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "tlsTunnelCipherSuites" - ] + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } } }, - "required": [ - "authType", - "oauthServerInfo" - ] - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json index ad71446bf..5ba68faae 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json @@ -1,7 +1,19 @@ -{ "type": "array", - "items": { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", +{ + "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", @@ -53,7 +65,7 @@ ] }, "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", "type": "integer" }, "supportedOperations": { @@ -67,7 +79,7 @@ "type": "string" }, "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", "type": "integer" } }, @@ -115,8 +127,12 @@ ] }, "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], "properties": { "authType": { "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", @@ -133,53 +149,53 @@ "oauthServerInfo": { "description": "OAuth 2.0 authorization server information and configuration.\n", "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], "properties": { "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", "type": "object", + "required": [ + "webFingerHost" + ], "properties": { "webFingerHost": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } - }, - "required": [ - "webFingerHost" - ] + } }, "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used to setup the authorization server identifier. See note.\n", "type": "object", + "required": [ + "authServerId" + ], "properties": { "authServerId": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } - }, - "required": [ - "authServerId" - ] + } }, "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", "type": "array", "items": { - "type": "string" - }, - "minItems": 1 + "type": "string", + "minItems": 1 + } } - }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] + } }, "tlsTunnelInfo": { "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", "type": "object", "properties": { "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", "type": "array", "items": { "type": "string" @@ -191,28 +207,12 @@ "tlsTunnelCipherSuites" ] } - }, - "required": [ - "authType", - "oauthServerInfo" - ] + } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", "type": "object" } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ] + } } - } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json index c7e85d04b..75811a050 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json @@ -1,7 +1,15 @@ -{ "type": "array", - "items": { - "description": "This type represents an individual peer entity. \n", +{ + "type": "array", + "items": { + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -16,7 +24,7 @@ "type": "string" }, "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", "type": "string", "enum": [ "NFVO", @@ -24,7 +32,8 @@ "VIM", "WIM", "EM", - "OSS" + "OSS", + "WIM" ] }, "description": { @@ -32,16 +41,20 @@ "type": "string" }, "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, "name": { "description": "Human-readable name of the NFV-MANO interface.\n", "type": "string" @@ -84,7 +97,7 @@ ] }, "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", "type": "object", "required": [ "authType", @@ -108,7 +121,7 @@ "type": "object", "properties": { "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", "type": "object", "required": [ "webFingerHost" @@ -122,7 +135,7 @@ } }, "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used to setup the authorization server identifier. See note.\n", "type": "object", "required": [ "authServerId" @@ -161,15 +174,7 @@ } } } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ] + } } }, "peerEntityState": { @@ -202,14 +207,6 @@ "administrativeState" ] } - }, - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ] + } } - } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json index cbf0cbe24..e168b2a11 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json @@ -1,212 +1,209 @@ { - "description": "This type represents an individual peer entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" }, - "required": [ - "apiUri" - ] + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", "type": "string", - "minItems": 1 + "format": "uri" } } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", "type": "string", - "minItems": 1 + "format": "uri" } } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } } } } } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ] - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] } - }, - "required": [ - "operationalState", - "administrativeState" - ] + } } }, - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ] - } \ No newline at end of file + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/README.md b/SOL009/README.md index bb1592d77..68272f4f0 100644 --- a/SOL009/README.md +++ b/SOL009/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL009 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_nfv-sol009v030501p.pdf -- GitLab From d92c8edd2ee4524824523b78057d1593ce821518 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 14:14:47 +0500 Subject: [PATCH 003/211] update document number to v3.5.1 --- .../ChangeInterfaceStateTask.robot | 14 +++---- .../ChangeNFVMANOEntityStateTask.robot | 12 +++--- .../ChangeStateOperationOccurrences.robot | 32 ++++++++-------- .../IndividualNFVMANOServiceInterface.robot | 18 ++++----- .../IndividualPeerEntity.robot | 18 ++++----- ...vidualStateChangeOperationOccurrence.robot | 14 +++---- .../IndividualSubscription.robot | 14 +++---- .../NFVMANOEntity.robot | 16 ++++---- .../NFVMANOServiceInterfaces.robot | 32 ++++++++-------- .../NotificationEndpoint.robot | 8 ++-- .../Notifications.robot | 18 ++++----- .../PeerEntities.robot | 38 +++++++++---------- .../Subscriptions.robot | 24 ++++++------ 13 files changed, 129 insertions(+), 129 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index 4d58d8b4b..1ec2b5161 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Change interface state task ... Test title: POST Change interface state task ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: interface status changed @@ -27,7 +27,7 @@ POST Change interface state task - Conflict ... Test title: POST Change interface state task - Conflict ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Change interface state task - Method not implemented ... Test title: GET Change interface state task - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Change interface state task - Conflict - Method not implemented ... Test title: PUT Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Change interface state task - Conflict - Method not implemented ... Test title: PATCH Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Change interface state task - Conflict - Method not implemented ... Test title: DELETE Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index e450afa03..594da210d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -12,7 +12,7 @@ POST NFV-MANO functional entity application state change ... Test title: POST NFV-MANO functional entity application state change ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: entity status changed @@ -26,7 +26,7 @@ POST NFV-MANO functional entity application state change - Conflict ... Test title: POST NFV-MANO functional entity application state change - Conflict ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application fails due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET NFV-MANO functional entity application state change - Method not implemented ... Test title: GET NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT NFV-MANO functional entity application state change - Method not implemented ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH NFV-MANO functional entity application state change - Method not implement ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE NFV-MANO functional entity application state change - Method not implemen ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot index 7f60fe749..564e36cfd 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Change State Operation Occurrences - Method not implemented ... Test title: POST Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Change State Operation Occurrences ... Test title: GET Change State Operation Occurrences ... Test objective: The objective is to query status information about multiple change state operation occurrences, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Change State Operation Occurrences - invalid attribute-based filter ... Test title: GET Change State Operation Occurrences - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Change State Operation Occurrences - invalid attribute selector ... Test title: GET Change State Operation Occurrences - invalid attribute selector ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Change State Operation Occurrences - Bad Request Response too Big ... Test title: GET Change State Operation Occurrences - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET Change State Operation Occurrences with attribute-based filter ... Test title: GET Change State Operation Occurrences with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET Change State Operation Occurrences with "all_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET Change State Operation Occurrences with "exclude_default" attribute selector ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Change State Operation Occurrences with "fields" attribute selector ... Test title: GET Change State Operation Occurrences with "fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET Change State Operation Occurrences with Paged Response ... Test title: GET Change State Operation Occurrence with Paged Response ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET Change State Operation Occurrences with "fields" and "exclude_default" attri ... Test title: GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT Change State Operation Occurrences - Method not implemented ... Test title: PUT Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH Change State Operation Occurrences - Method not implemented ... Test title: PATCH Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE Change State Operation Occurrences - Method not implemented ... Test title: DELETE Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index caea555e4..68b51c9e8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual NFV-MANO Service Interface - Method not implemented ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual NFV-MANO Service Interface ... Test title: GET Individual NFV-MANO Service Interface ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual NFV-MANO Service Interface - Not Found ... Test title: GET Individual NFV-MANO Service Interface - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual NFV-MANO Service Interface - Method not implemented ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Individual NFV-MANO Service Interface ... Test title: PATCH Individual NFV-MANO Service Interface ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation @@ -76,7 +76,7 @@ PATCH Individual NFV-MANO Service Interface - Conflict ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -89,7 +89,7 @@ PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -102,7 +102,7 @@ DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot index f6e5a7225..5e8d57e00 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual Peer Entity - Method not implemented ... Test title: POST Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Peer Entity ... Test title: GET Individual Peer Entity ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Peer Entity - Not Found ... Test title: GET Individual Peer Entity - Not Found ... Test objective: The objective is to test the retrieval of information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Peer Entity - Method not implemented ... Test title: PUT Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Peer Entity ... Test title: PATCH Individual Peer Entity ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is modified by the operation @@ -75,7 +75,7 @@ PATCH Individual Peer Entity - Conflict ... Test title: PATCH Individual Peer Entity - Conflict ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -88,7 +88,7 @@ PATCH Individual Peer Entity - PreCondition Failed ... Test title: PATCH Individual Peer Entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -101,7 +101,7 @@ DELETE Individual Peer Entity - Method not implemented ... Test title: DELETE Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot index c9797ea9e..cc058006b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual Change State Operation Occurrence - Method not implemented ... Test title: POST Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Change State Operation Occurrence ... Test title: GET Individual Change State Operation Occurrence ... Test objective: The objective is to query status information about Individual change state operation occurrence. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Change State Operation Occurrence - Not Found ... Test title: GET Individual Change State Operation Occurrence - Not Found ... Test objective: The objective is to test the retrieval of information about individual change state operation occurence fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Change State Operation Occurrence - Method not implemented ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Change State Operation Occurrence - Method not implemented ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual Change State Operation Occurrence - Method not implemented ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index e20248234..e01857ac8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Subscription - invalid resource identifier ... Test title: GET Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test the deletion of an individual subscription ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The resource is not available anymore in the NFV-MANO @@ -51,7 +51,7 @@ DELETE Individual Subscription - invalid resource identifier ... Test title: DELETE Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Individual Subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Individual Subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index 74a29921b..07bb06953 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -13,7 +13,7 @@ POST NFV-MANO entity - Method not implemented ... Test title: POST NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO entity ... Test title: Get NFV-MANO entity ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO entity - Not Found ... Test title: Get NFV-MANO entity - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT NFV-MANO entity - Method not implemented ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH NFV-MANO entity ... Test title: PATCH NFV-MANO entity ... Test objective: The objective is to test that PATCH method modifies the NFV-MANO entity resource and perform a JSON schema and content validation of the modified response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is modified by the operation @@ -75,7 +75,7 @@ PATCH NFV-MANO entity - Conflict ... Test title: PATCH NFV-MANO entity - Conflict ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -88,7 +88,7 @@ PATCH NFV-MANO entity - PreCondition Failed ... Test title: PATCH NFV-MANO entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -101,7 +101,7 @@ DELETE NFV-MANO entity - Method not implemented ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot index 938b1b0f4..028f92fb4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST NFV-MANO Service Interfaces - Method not implemented ... Test title: POST NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO Service Interfaces ... Test title: GET NFV-MANO Service Interfaces ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test title: GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET NFV-MANO Service Interfaces - invalid attribute selector ... Test title: GET NFV-MANO Service Interfaces - invalid attribute selector ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test title: GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET NFV-MANO Service Interfaces with attribute-based filter ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET NFV-MANO Service Interfaces with "all_fields" attribute selector ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute se ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET NFV-MANO Service Interfaces with Paged Response ... Test title: GET NFV-MANO Service Interfaces with Paged Response ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT NFV-MANO Service Interfaces - Method not implemented ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH NFV-MANO Service Interfaces - Method not implemented ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE NFV-MANO Service Interfaces - Method not implemented ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot index 7ffefd8e7..23b3e92f6 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Information Changed Notification ... Test title: Information Changed Notification ... Test objective: The objective is to test that Information Changed Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for information availability notification is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Change State Notification ... Test title: Change State Notification ... Test objective: The objective is to test that Change State Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for change state notification is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ Post Information Changed Notification ${body}= Format String ${template} subscriptionId=${subscriptionId} Post ${callbackResp} ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Change State Notification log Trying to perform a POST to get notification @@ -67,4 +67,4 @@ Post Change State Notification ${body}= Format String ${template} subscriptionId=${subscriptionId} changeStateOpOccId=${changeStateOpOccId} Post ${callbackResp} ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot index 7e00c3d89..3e936b98e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot @@ -1,5 +1,5 @@ *** Setting *** -Resource environment/variables.txt +Resource environment/variables.txt Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true Library MockServerLibrary @@ -16,7 +16,7 @@ Information Changed Notification ... Test title: Information Changed Notification ... Test objective: The objective is to test the dispatch of Information Changed Notification when configuration or information is changed in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Change State Notification ... Test title: Change State Notification ... Test objective: The objective is to test the dispatch of Change State Notification when state changes of the NFV-MANO functional entity and its managed objects, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a state change subscription is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANOz ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ Trigger the cross of Change State (external action) Check Information Changed Notification Available Http POST Request Body Json Schema Is [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json + ${schema}= Get File schemas/${element}.schema.json Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} Check Information Changed Notification Available Http POST Request Body notificationType attribute Is @@ -61,7 +61,7 @@ Check Information Changed Notification Available Http POST Request Body notifica Check Change State Notification Http POST Request Body Json Schema Is [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json + ${schema}= Get File schemas/${element}.schema.json Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} @@ -85,7 +85,7 @@ Configure Notification Information Changed Notification Available Handler set to dictionary ${json} notificationType ${type} ${BODY}= evaluate json.dumps(${json}) json Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} Set Global Variable ${notification_request} ${req} &{notification_response}= Create Mock Response status_code=204 Create Mock Expectation ${notification_request} ${notification_response} @@ -96,7 +96,7 @@ Configure Notification State Crossed Handler set to dictionary ${json} notificationType ${type} ${BODY}= evaluate json.dumps(${json}) json Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} Set Global Variable ${notification_request} ${req} &{notification_response}= Create Mock Response status_code=204 Create Mock Expectation ${notification_request} ${notification_response} @@ -104,8 +104,8 @@ Configure Notification State Crossed Handler Configure Notification Forward [Arguments] ${schema} ${endpoint} ${endpoint_fwd} Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} Create Sessions diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index 2fe8eb548..dfbe06ecf 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Peer Entity ... Test title: POST Peer Entity ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity is created @@ -28,7 +28,7 @@ GET Peer Entities ... Test title: GET Peer Entities ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Peer Entities - invalid attribute-based filter ... Test title: GET Peer Entities - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Peer Entities - invalid attribute selector ... Test title: GET Peer Entities - invalid attribute selector ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Peer Entities - Bad Request Response too Big ... Test title: GET Peer Entities - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET Peer Entities with attribute-based filter ... Test title: GET Peer Entities with attribute-based filter ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET Peer Entities with "all_fields" attribute selector ... Test title: GET Peer Entities with "all_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ GET Peer Entities with "exclude_default" attribute selector ... Test title: GET Peer Entities with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET Peer Entities with "fields" attribute selector ... Test title: GET Peer Entities with "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET Peer Entities with "exclude_fields" attribute selector ... Test title: GET Peer Entities with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test title: GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET Peer Entity with Paged Response ... Test title: GET Peer Entity with Paged Response ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ Get Peer Entity with malformed authorization token ... Test title: Get Peer Entity with malformed authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ Get Peer Entity without authorization token ... Test title: Get Peer Entity without authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple alarms with expired or revoked authorization toke ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +207,7 @@ PUT Peer Entities - Method not implemented ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ PATCH Peer Entities - Method not implemented ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,7 +231,7 @@ DELETE Peer Entities - Method not implemented ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 9ff981dd1..5d4d1f303 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET all Subscriptions ... Test title: GET all Subscriptions ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Subscriptions with attribute-based filter ... Test title: GET Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter and perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Subscriptions with Paged Response ... Test title: GET Subscriptions with Paged Response ... Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: @@ -55,7 +55,7 @@ GET Subscriptions - invalid attribute-based filter ... Test title: GET Subscriptions - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Subscriptions - Bad Request Response too Big ... Test title: GET Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET Subscriptions - invalid resource endpoint ... Test title: GET Subscriptions - invalid resource endpoint ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ Create new Subscription ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The subscription is successfully set and it matches the issued subscription @@ -111,7 +111,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO @@ -127,7 +127,7 @@ Create request for duplicated Subscription creating duplicated subscriptions ... Test title: Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription @@ -142,7 +142,7 @@ PUT Subscriptions - Method not implemented ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ PATCH Subscriptions - Method not implemented ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ DELETE Subscriptions - Method not implemented ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From 221c5f78a58efdae7bd07e3c5c6bad692203e9b2 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 15:00:45 +0500 Subject: [PATCH 004/211] add POST unprocessable entity test case for subscriptions --- .../Subscriptions.robot | 19 ++++++++++-- .../schemas/ProblemDetails.schema.json | 30 ++++++++++++++++++- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 5d4d1f303..ada4ec7a4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -89,7 +89,7 @@ GET Subscriptions - invalid resource endpoint Get all Subscriptions Check HTTP Response Status Code Is 404 -Create new Subscription +POST Create new Subscription [Documentation] Test ID: 8.3.1.10.7 ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure @@ -105,7 +105,7 @@ Create new Subscription Check Postcondition Subscription Is Set -Create request for duplicated Subscription not creating duplicated subscriptions +POST Create request for duplicated Subscription not creating duplicated subscriptions [Tags] no-duplicated-subs [Documentation] Test ID: 8.3.1.10.8 ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions @@ -121,7 +121,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions Check HTTP Response Header Contains Location Check Postcondition Subscription Resource Returned in Location Header Is Available -Create request for duplicated Subscription creating duplicated subscriptions +POST Create request for duplicated Subscription creating duplicated subscriptions [Tags] duplicated-subs [Documentation] Test ID: 8.3.1.10.9 ... Test title: Create request for duplicated Subscription creating duplicated subscriptions @@ -172,3 +172,16 @@ DELETE Subscriptions - Method not implemented ... Post-Conditions: none Send Delete Request for Subscriptions Check HTTP Response Status Code Is 405 + +POST Create a new subscription - Unprocessable Entity + [Documentation] Test ID: 8.3.1.10.13 + ... Test title: POST Create a new Subscription - Unprocessable Entity + ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: none + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for Subscription + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json index 2af3ef9b3..bd236d731 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json @@ -1 +1,29 @@ -{ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string", "format": "URI" } }} \ No newline at end of file +{ + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } +} -- GitLab From 06f56d13644355786d372dbcd4729953b7769f37 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 15:39:39 +0500 Subject: [PATCH 005/211] update apiMajorVersion in variables.txt --- .../environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 35efe08ef..b9aec98f2 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -18,7 +18,7 @@ ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, th ${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / -${apiMajorVersion} v1 +${apiMajorVersion} v2 ${apiName} nfvmanocim ${response} -- GitLab From e09307cae49fb0a5b06088484fadf04c086aac56 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:04:45 +0500 Subject: [PATCH 006/211] fix POST subscriptions - unprocessable entity test case --- .../NFVMANOCimKeywords.robot | 12 ++++++++++++ .../Subscriptions.robot | 4 ++-- .../environment/variables.txt | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 44fb39106..cb1eb6210 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -675,6 +675,18 @@ Send Post Request for Subscription Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 ... Check Notification Endpoint +Send Post Request for Subscription with Unreachable callbackUri + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + ${template}= Get File jsons/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription ${template}= Get File jsons/CimSubscriptionRequest.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index ada4ec7a4..4cb9a4901 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -176,12 +176,12 @@ DELETE Subscriptions - Method not implemented POST Create a new subscription - Unprocessable Entity [Documentation] Test ID: 8.3.1.10.13 ... Test title: POST Create a new Subscription - Unprocessable Entity - ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. + ... Test objective: The objective is to test that for a POST request for a new subscription, if the test by NFV-MANO for notification endpoint fails, then error 422 will be returned. ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post Request for Subscription + Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index b9aec98f2..b86b897ab 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -36,6 +36,7 @@ ${peerEntityId} ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-code-422 ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous -- GitLab From 55c380541e85e4f05fc960a3c3441bf77928b187 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:09:52 +0500 Subject: [PATCH 007/211] rename schema files --- ...on => ChangeStateNotification.schema.json} | 300 +++--- ...pOcc.json => ChangeStateOpOcc.schema.json} | 168 ++-- ...ccs.json => ChangeStateOpOccs.schema.json} | 174 ++-- ...ption.json => CimSubscription.schema.json} | 224 ++--- ...ions.json => CimSubscriptions.schema.json} | 230 ++--- ...nformationChangedNotification.schema.json} | 160 ++-- ...on => ManoConfigModifications.schema.json} | 170 ++-- ...ManoEntity.json => ManoEntity.schema.json} | 866 +++++++++--------- ....json => ManoServiceInterface.schema.json} | 428 ++++----- ...ServiceInterfaceModifications.schema.json} | 208 ++--- ...json => ManoServiceInterfaces.schema.json} | 434 ++++----- ...Entities.json => PeerEntities.schema.json} | 422 ++++----- ...PeerEntity.json => PeerEntity.schema.json} | 416 ++++----- 13 files changed, 2100 insertions(+), 2100 deletions(-) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateNotification.json => ChangeStateNotification.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateOpOcc.json => ChangeStateOpOcc.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateOpOccs.json => ChangeStateOpOccs.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{CimSubscription.json => CimSubscription.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{CimSubscriptions.json => CimSubscriptions.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{InformationChangedNotification.json => InformationChangedNotification.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoConfigModifications.json => ManoConfigModifications.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoEntity.json => ManoEntity.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterface.json => ManoServiceInterface.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterfaceModifications.json => ManoServiceInterfaceModifications.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterfaces.json => ManoServiceInterfaces.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{PeerEntities.json => PeerEntities.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{PeerEntity.json => PeerEntity.schema.json} (98%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json index 960b9e7d0..1d887a364 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json @@ -1,151 +1,151 @@ -{ - "description": "This type represents a Change state operation occurrence.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timestamp", - "changeStateOpOccId", - "stateChangedTime", - "changeStateOperationState", - "managedObjectRef", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "stateChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOperationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeStateOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "subscription", - "objectInstance", - "changeStateOpOcc" - ] - } - } +{ + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json index b0c3c9178..53e9d8228 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json @@ -1,85 +1,85 @@ -{ - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] - }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } - } +{ + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json index 9f57c2454..2c222b3b5 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json @@ -1,88 +1,88 @@ -{ - "type": "array", - "items": { - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] - }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json index 1a7e924ed..ced25bc5f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json @@ -1,113 +1,113 @@ -{ - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } +{ + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json index a7578f88d..2098ec69c 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json @@ -1,116 +1,116 @@ -{ - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json index 696f45239..b906a3a5a 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json @@ -1,81 +1,81 @@ -{ - "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "informationChangedTime", - "manoEntityId", - "changedInfo", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "informationChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changedInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } +{ + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json index ea15fde7d..9ecde8ddb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json @@ -1,86 +1,86 @@ -{ - "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "string" - }, - "clockSyncs": { - "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", - "type": "string", - "enum": [ - "NTP", - "OTHER" - ] - }, - "ntpServerInfo": { - "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", - "type": "object", - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "hostname": { - "description": "Indicates the hostname of the NTP server. See note.\n", - "type": "string" - } - } - }, - "otherClockSyncParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "defaultLogCompileBySizeValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "defaultLogCompileByTimerValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "manoServiceModifications": { - "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", - "type": "string" - } - }, - "required": [ - "id" - ] - } - } - } +{ + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. See note.\n", + "type": "string" + } + } + }, + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json index b78f2a698..29484d403 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json @@ -1,434 +1,434 @@ -{ - "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", - "type": "object", - "required": [ - "id", - "type", - "name", - "description", - "provider", - "softwareVersion", - "manoConfigurableParams", - "manoApplicationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM" - ] - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "provider": { - "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", - "type": "string" - }, - "softwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "manoEntityComponents": { - "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", - "type": "array", - "items": { - "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "manoServiceIds": { - "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - } - } - } - }, - "manoServices": { - "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", - "type": "array", - "items": { - "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", - "type": "object", - "required": [ - "id", - "name", - "description", - "manoServiceInterfaceIds", - "_links" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "manoServiceInterfaceIds": { - "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "minItems": 1 - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "manoServiceInterfaces": { - "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "minItems": 1 - } - }, - "required": [ - "manoServiceInterfaces" - ] - } - } - } - }, - "manoConfigurableParams": { - "description": "# Warning: No definition found in the document ManoConfigurableParams\n" - }, - "manoApplicationState": { - "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", - "type": "object", - "required": [ - "operationalState", - "administrativeState", - "usageState" - ], - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - }, - "nfvoSpecificInfo": { - "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", - "type": "object", - "required": [ - "supportedVnfdFormats", - "supportedNsdFormats" - ], - "properties": { - "maxOnboardedNsdNum": { - "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", - "type": "integer" - }, - "maxOnboardedVnfPkgNum": { - "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", - "type": "integer" - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] - }, - "supportedNsdFormats": { - "description": "Supported NSD data formats.\n", - "type": "object", - "properties": { - "nsdFormat": { - "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "nsdFormat", - "standardVersion" - ] - } - } - }, - "vnfmSpecificInfo": { - "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", - "type": "object", - "required": [ - "resoruceMgmtModeSupport", - "managedVnfInstanceInfos", - "supportedVnfdFormats" - ], - "properties": { - "resoruceMgmtModeSupport": { - "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", - "type": "string", - "enum": [ - "DIRECT", - "INDIRECT", - "BOTH" - ] - }, - "managedVnfInstanceInfos": { - "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] - }, - "minItems": 1 - } - } - }, - "vimSpecificInfo": { - "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", - "type": "object" - }, - "wimSpecificInfo": { - "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", - "type": "object", - "required": [ - "maxMscsNums", - "maxMsncNum", - "mscsLayerProtocolSupport" - ], - "properties": { - "maxMscsNums": { - "description": "Maximum number of MSCS that the WIM can manage.\n", - "type": "object", - "required": [ - "numMscs" - ], - "properties": { - "numMscs": { - "description": "Maximum number of MSCS.\n", - "type": "integer" - }, - "criteriaNumMscs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "maxMsncNum": { - "description": "Maximum number of MSNC that the WIM can manage\n", - "type": "object", - "required": [ - "numMsnc" - ], - "properties": { - "numMsnc": { - "description": "Maximum number of MSNC..\n", - "type": "integer" - }, - "criteriaNumMsnc": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "mscsLayerProtocolSupport": { - "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", - "type": "string", - "enum": [ - "EVPN_BGP_MPLS", - "EVPN_VPWS", - "VPLS_BGP", - "VPLS_LDP_L2TP", - "VPWS_LDP_L2TP", - "BGP_IP_VPN" - ] - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "manoServiceInterfaces", - "peerEntities", - "changeState", - "changeStateOpOccs" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "manoServiceInterfaces": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "peerEntities": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeState": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeStateOpOccs": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } +{ + "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + } + } + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", + "type": "object", + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + } + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", + "type": "object", + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ], + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "nsdFormat", + "standardVersion" + ] + } + } + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", + "type": "object", + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ], + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "minItems": 1 + } + } + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "wimSpecificInfo": { + "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", + "type": "object", + "required": [ + "maxMscsNums", + "maxMsncNum", + "mscsLayerProtocolSupport" + ], + "properties": { + "maxMscsNums": { + "description": "Maximum number of MSCS that the WIM can manage.\n", + "type": "object", + "required": [ + "numMscs" + ], + "properties": { + "numMscs": { + "description": "Maximum number of MSCS.\n", + "type": "integer" + }, + "criteriaNumMscs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "maxMsncNum": { + "description": "Maximum number of MSNC that the WIM can manage\n", + "type": "object", + "required": [ + "numMsnc" + ], + "properties": { + "numMsnc": { + "description": "Maximum number of MSNC..\n", + "type": "integer" + }, + "criteriaNumMsnc": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "mscsLayerProtocolSupport": { + "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", + "type": "string", + "enum": [ + "EVPN_BGP_MPLS", + "EVPN_VPWS", + "VPLS_BGP", + "VPLS_LDP_L2TP", + "VPWS_LDP_L2TP", + "BGP_IP_VPN" + ] + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "manoServiceInterfaces": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "peerEntities": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeState": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOccs": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json index bcedca867..94ea56821 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json @@ -1,215 +1,215 @@ -{ - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", - "type": "integer" - } - }, - "required": [ - "operationName" - ] - }, - "minItems": 1 - }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } +{ + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json index 696a8c11e..26199703f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json @@ -1,105 +1,105 @@ -{ - "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", - "type": "string" - }, - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } +{ + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json index 5ba68faae..8b6194d71 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json @@ -1,218 +1,218 @@ -{ - "type": "array", - "items": { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", - "type": "integer" - } - }, - "required": [ - "operationName" - ] - }, - "minItems": 1 - }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json index 75811a050..2e02794be 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json @@ -1,212 +1,212 @@ -{ - "type": "array", - "items": { - "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", - "type": "object", - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS", - "WIM" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ], - "properties": { - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - } - } - } - } - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - } - }, - "required": [ - "operationalState", - "administrativeState" - ] - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + } + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json index e168b2a11..67233fbbb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json @@ -1,209 +1,209 @@ -{ - "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", - "type": "object", - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS", - "WIM" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ], - "properties": { - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - } - } - } - } - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - } - }, - "required": [ - "operationalState", - "administrativeState" - ] - } - } +{ + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + } + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } } \ No newline at end of file -- GitLab From 3d85d1db4a21f5b3ac6923162041980b6aac4b27 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:14:15 +0500 Subject: [PATCH 008/211] update schema files --- .gitignore | 1 + ...formationAvailableNotification.schema.json | 184 +++++++------- .../schemas/PerformanceReport.schema.json | 158 ++++++------ .../schemas/PmJob.schema.json | 41 ++-- .../schemas/PmJobs.schema.json | 225 +++++++++--------- .../schemas/ProblemDetails.schema.json | 30 ++- .../schemas/Threshold.schema.json | 203 ++++++++-------- .../ThresholdCrossedNotification.schema.json | 202 ++++++++-------- .../schemas/Thresholds.schema.json | 41 ++-- 9 files changed, 555 insertions(+), 530 deletions(-) diff --git a/.gitignore b/.gitignore index 1b6e272e0..4655030ac 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +.vscode/ diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json index 04ae7ead4..6e2e33f34 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json @@ -1,105 +1,93 @@ { - "description": "This notification informs the receiver that performance information is available. The timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition. The notification shall be triggered by the VNFM when new performance information collected by a PM job is available.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"PerformanceInformationAvailableNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "PerformanceInformationAvailableNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "pmJob", - "performanceReport" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This notification informs the receiver that performance information is available.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "pmJobId", + "timeStamp", + "objectType", + "objectInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "pmJobId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pmJob": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "pmJob": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "performanceReport": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "PerformanceReport": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } - } + }, + "required": [ + "pmJob", + "performanceReport" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json index 9ca35fcfa..e9b74725f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json @@ -1,92 +1,92 @@ { - "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", - "type": "object", - "properties": { - "entries": { - "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" + "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", + "type": "object", + "required": [ + "entries" + ], + "properties": { + "entries": { + "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "required": [ + "type", + "objectId" + ] + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "performanceMetric": { + "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "performanceValues": { + "description": "List of performance values with associated timestamp.\n", + "type": "array", + "items": { "type": "object", "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] + "format": "date-time" }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "value": { + "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "context": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } }, "required": [ - "type", - "objectId" + "timeStamp", + "value" ] }, - "subObjectInstanceId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "performanceMetric": { - "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "performanceValues": { - "description": "List of performance values with associated timestamp.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" - }, - "context": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - }, - "required": [ - "timeStamp", - "value" - ] - }, - "minItems": 1 - } - }, - "required": [ - "objectType", - "objectInstanceId", - "performanceMetric", - "performanceValues" - ] + "minItems": 1 + } }, - "minItems": 1 - } - }, - "required": [ - "entries" - ] - } \ No newline at end of file + "required": [ + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValues" + ] + }, + "minItems": 1 + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json index 7b4833902..72c55e647 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json @@ -1,6 +1,14 @@ { "description": "This type represents a PM job. \n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -28,29 +36,33 @@ } }, "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingBoundary": { @@ -58,11 +70,11 @@ "type": "string", "format": "date-time" } - }, - "required": [ - "collectionPeriod", - "reportingPeriod" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "reports": { "description": "Information about available reports collected by this PM job.\n", @@ -134,12 +146,5 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json index 95ada1a02..e6103b6a2 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json @@ -1,123 +1,119 @@ { "type": "array", "items": { - "description": "This type represents a PM job. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "array", - "items": { + "description": "This type represents a PM job. \n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "minItems": 1 - }, - "subObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" + }, + "objectInstanceIds": { + "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "minItems": 1 + }, + "subObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } }, - "required": [ - "collectionPeriod", - "reportingPeriod" - ] - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "array", - "items": { + "criteria": { + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "performanceMetric": { + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "performanceMetricGroup": { + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "collectionPeriod": { + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" + }, + "reportingPeriod": { + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" }, - "expiryTime": { + "reportingBoundary": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" - }, - "fileSize": { - "description": "Unsigned integer\n", - "type": "number" } - }, - "required": [ - "href", - "readyTime" - ] - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "reports": { + "description": "Information about available reports collected by this PM job.\n", + "type": "array", + "items": { "type": "object", - "required": [ - "href" - ], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "Unsigned integer\n", + "type": "number" } - } - }, - "objects": { - "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", - "type": "array", - "items": { + }, + "required": [ + "href", + "readyTime" + ] + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "properties": { + "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", "required": [ @@ -129,20 +125,29 @@ "type": "string" } } + }, + "objects": { + "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } } - } - }, - "required": [ - "self" - ] + }, + "required": [ + "self" + ] + } } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] -} + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json index 2af3ef9b3..bd236d731 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json @@ -1 +1,29 @@ -{ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string", "format": "URI" } }} \ No newline at end of file +{ + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } +} diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json index 024546173..bf9ced033 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json @@ -1,108 +1,113 @@ { - "description": "", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "This type represents a threshold.\n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subjObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" - }, - "subjObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + } + }, + "criteria": { + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", + "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], + "properties": { + "performanceMetric": { + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" - } - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "properties": { - "thresholdValue": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - }, - "hysteresis": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - } - }, - "required": [ - "thresholdValue", - "hysteresis" - ] - } }, - "required": [ - "performanceMetric", - "thresholdType" - ] - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "thresholdType": { + "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", + "type": "string", + "enum": [ + "SIMPLE" + ] + }, + "simpleThresholdDetails": { + "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", + "type": "object", + "properties": { + "thresholdValue": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" + }, + "hysteresis": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" } }, - "object": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "required": [ + "thresholdValue", + "hysteresis" + ] + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "self" - ] - } - }, - "required": [ - "id", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] - } \ No newline at end of file + "object": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json index e5cec2303..baa0ae1b4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json @@ -1,113 +1,101 @@ { - "description": "This type represents a notification that is sent when a threshold has been crossed. The notification shall be triggered by the VNFM when a threshold has been crossed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "thresholdId", - "crossingDirection", - "objectInstanceId", - "performanceMetric", - "performanceValue", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ThresholdCrossedNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "thresholdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "crossingDirection": { - "type": "string", - "enum": [ - "UP", - "DOWN" - ] - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric associated with the threshold.\n", - "type": "string" - }, - "performanceValue": { - "description": "Value of the metric that resulted in threshold crossing. The type of the \"performanceValue\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "threshold" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This type represents a notification that is sent when a threshold has been crossed.\nNOTE:\tThe timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition.\nThe notification shall be triggered by the NFV-MANO functional entity when a threshold has been crossed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "timeStamp", + "thresholdId", + "crossingDirection", + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValue", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "thresholdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "crossingDirection": { + "description": "CrossingDirectionType enumeration. Permited values:\n - UP: The threshold was crossed in upward direction.\n - DOWN : The threshold was crossed in downward direction.\n", + "type": "string", + "enum": [ + "UP", + "DOWN" + ] + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "performanceMetric": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "performanceValue": { + "description": "Value of the metric that resulted in threshold crossing. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" + }, + "context": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "threshold": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "threshold": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } - } + }, + "required": [ + "objectInstance" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json index 4b1ce8981..79d8f7c85 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json @@ -1,15 +1,24 @@ { "type": "array", "items": { - "description": "", + "description": "This type represents a threshold.\n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" }, "objectInstanceId": { @@ -25,11 +34,15 @@ } }, "criteria": { - "description": "This type represents criteria that define a threshold.\n", + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], "properties": { "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" }, "thresholdType": { @@ -57,11 +70,11 @@ "hysteresis" ] } - }, - "required": [ - "performanceMetric", - "thresholdType" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "_links": { "description": "Links for this resource.\n", @@ -98,14 +111,6 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] + } } } \ No newline at end of file -- GitLab From c6330cb3cc79491c686a66bde4ab5cb5a6cd354a Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:23:47 +0500 Subject: [PATCH 009/211] update applicability description for POST subscription - unprocessable entity --- .../Subscriptions.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 4cb9a4901..3680ae513 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -180,7 +180,7 @@ POST Create a new subscription - Unprocessable Entity ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: none + ... Applicability: Notification endpoint test by NFV-MANO fails. ... Post-Conditions: none Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 -- GitLab From 5495a449aa671dd5bbe72547d9a8e921b1ca7635 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 13 Oct 2021 17:54:48 +0500 Subject: [PATCH 010/211] removed unused OpenAPI yaml --- .../NFVMANOCimKeywords.robot | 1 + ...onfigurationInformationManagement-API.yaml | 33445 ---------------- .../Subscriptions.robot | 4 +- 3 files changed, 3 insertions(+), 33447 deletions(-) delete mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index cb1eb6210..a88658791 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -676,6 +676,7 @@ Send Post Request for Subscription ... Check Notification Endpoint Send Post Request for Subscription with Unreachable callbackUri + Log Trying to create a subscription for an unreachable Notification Endpoint Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml deleted file mode 100644 index 3fed77a90..000000000 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml +++ /dev/null @@ -1,33445 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Configuration and Information Management Interface - description: > - SOL009 - NFV-MANO Configuration and Information Management Interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' - contact: - name: NFV-SOL WG -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://0.0.0.0/nfvmanocim/v1' - description: | - API HTTP Server - - url: 'https://0.0.0.0/nfvmanocim/v1' - description: | - API HTTPS Server -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity: - get: - description: > - Retrives information about an NFV-MANO functional entity by reading the - NFV-MANO entity resource. This method shall follow the provisions - specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when configuration and information about the - NFV-MANO functional entity has been read successfully. The response - body shall contain a representation of the NFV-MANO functional - entity, as defined in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: > - Human-readable description of the NFV-MANO functional - entity. - - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional - entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on - the NFV-MANO functional entity component. The - identifier of the ManoService is referred. A - service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO - service provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - description: - description: > - Human-readable description of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service - interface" resources with information about the - associated interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource - using an absolute URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded - on the NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a - VNFM entity, and that can be relevant to more than one - NFV-MANO service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. - to determine the compatibility of a VNF with certain - VNFM according to the vnfmInfo attribute in the VNFD - (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a - VIM entity, and that can be relevant to more than one - NFV-MANO service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies the NFV-MANO entity resource. Changes to the various - configuration and information attributes are applied to the NFV-MANO - functional entity, and are reflected in the representation of this - resource. This method shall follow the provisions specified in the - tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, request - and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the NFV-MANO configuration and information - modification, as defined in clause 5.6.2.3. The Content-Type header - shall be set to "application/merge-patch+json" according to IETF RFC - 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" - attribute array in the "ManoEntity", as defined below this - table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on the "NFV-MANO entity" resource of the producer - NFV-MANO functional entity. The attributes that can be - included consist of those requested to be modified explicitly - in the "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in - clause 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", - as defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock - synchronization. Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of - certain entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause - 5.6.2.3. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - If present, this attribute signals modification of - the "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of - the "description" attribute in the "ManoService". - type: string - required: - - id - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "NFV-MANO entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/change_state: - post: - description: > - Requests to change the state of the NFV-MANO functional entity - application. - - This method shall follow the provisions specified in the tables - 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/mano_interfaces: - get: - description: > - Queries information about multiple NFV-MANO service interfaces of the - NFV-MANO functional entity. This method shall follow the provisions - specified in the tables 5.5.10.3.2-1 and 5.5.10.3.2-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ManoServiceInterface and in - data types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this - parameter is provided, or none of the parameters "all_fields," - "fields", "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO - service interfaces has been queried successfully. - - The response body shall contain in an array the representations of - zero or more NFV-MANO service interfaces, as defined in clause - 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service - interface produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: > - Information about supported operations of this - interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the API client. - Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - retrieves information about an NFV-MANO service interface of the - producer NFV-MANO functional entity by reading an "Individual NFV-MANO - service interface" resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO - service interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall - be present for ETSI NFV specified RESTful NFV-MANO - APIs. The major version is defined in the standard - the interface is compliant to (see also clause 4.1 of - ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies an "Individual NFV-MANO service interface" resource. - - Changes to the configurable parameters of the corresponding NFV-MANO - service interface are applied to the information managed by the - producer NFV-MANO functional entity and reflected in the representation - of this resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" - resource, as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an Individual NFV-MANO service interface" - resource. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the - "ManoServiceInterface" data structure that were modified - implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoServiceInterface", as defined in - clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: > - Requests to change the state of the NFV-MANO service interface produced - by the NFV-MANO functional entity. - - This method shall follow the provisions specified in the tables - 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for - processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Creates a new subscription. - - This method shall follow the provisions specified in the tables - 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '303': - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI - and the same filter already exists and the policy of NFV-MANO - functional entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the existing "Individual subscription" - resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - queries the list of active subscriptions of the API consumer that - invokes the method. It can be used, e.g., for resynchronization after - error situations. - - This method shall follow the provisions specified in the tables - 5.5.4.3.2-1 and 5.5.4.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of - all active subscriptions of the functional block that invokes the - method, i.e., zero or more representations of NFV-MANO - configuration and information management subscriptions as defined - in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to - reference to NFV-MANO services in a filter. They - should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information about a subscription by reading an "Individual - subscription" resource. - - This method shall follow the provisions specified in the tables - 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual subscription - has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Terminates an individual subscription. - - This method shall follow the provisions specified in the tables - 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /change_state_ops: - get: - description: > - The API consumer can use the GET method to query status information - about multiple change state operation occurrences. - - This method shall follow the provisions specified in the tables - 5.5.8.3.2-1 and 5.5.8.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ChangeStateOpOcc structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", - as defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual - resource, and may be present according to the chosen - attribute selector parameter if this data type is - returned in a response to a query of a container - resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/change_state_ops/{changeStateOpOccId}': - parameters: - - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The API consumer can use the GET method to retrieve status information - about a change state operation occurrence by reading an "Individual - change state operation occurrence" resource. - - This method shall follow the provisions specified in the tables - 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an "Individual change - state operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change - state operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /peer_entities: - post: - description: > - Creates in the producer NFV-MANO functional entity a new peer entity - resource which contains configuration and information with regards to - the peer functional entity. - - This method shall follow the provisions specified in the tables - 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a - new peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has - been created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause - 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that - points to the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual peer entity" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - Queries information and configuration in the producer NFV-MANO - functional entity with regards to multiple peer entities. - - This method shall follow the provisions specified in the tables - 5.5.13.3.2-1 and 5.5.13.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or - none of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more peer entities - has been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - peerEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: > - Human-readable description of the peer functional - entity. - - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the - API. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The major version is - defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used - by the API consumer accessing the API. - - The support of authorization methods for the - API consumer is specified in clause 8.3.6 of - ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC - 5246. - OAUTH2: Using access token, as defined - by the OAuth 2.0 specification in IETF RFC - 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS - negotiation with the authorization server. - Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the - use of TLS tunnel. Shall be present if - authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS negotiation - with the API producer. Valid values of - cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the - API consumer when creating the resource or when - updating it with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/peer_entities/{peerEntityId}': - parameters: - - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information and configuration hold in the producer NFV-MANO - functional entity with regards to a peer entity by reading an - individual peer entity resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual peer - functional entity has been read successfully. - - The response body shall contain a resource representation of the - peer functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies configuration and information of the producer NFV-MANO - functional entity with regards to a peer functional entity by updating - the corresponding "Individual peer entity" resource. - - Changes to the configurable parameters of the corresponding peer entity - are applied to the information managed by the producer NFV-MANO - functional entity and reflected in the representation of this resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - peer functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " - PeerEntity ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined - in clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an "Individual peer entity" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in - clause 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of - certain entries in the "consumedManoInterfaces" attribute - in "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Ddeletes an individual peer entity resource. By deleting such a - resource in the producer NFV-MANO functional entity representing a peer - NFV-MANO entity, the configuration and information with regards to such - peer entity is deleted. Consequently, the peering relationship between - the producer NFV-MANO functional entity and the peer entity is - terminated, i.e., the producer NFV-MANO functional entity does not have - the necessary information to communicate/interact with the peer entity. - - This method shall follow the provisions specified in the tables - 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - schemas: - ManoEntity: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional entity. - It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component realizing - part of an NFV-MANO functional entity. It is optional for the API - producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of the - ManoService is referred. A service may depend on multiple - components. Multiple services may depend on the same - component. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the NFV-MANO - functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional entity’s - application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO - entity, and that can be relevant to more than one NFV-MANO service - offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see table - 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - ManoConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute array - in the "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the "clockSyncs" - attribute array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - ManoConfigModifications: - description: > - This type represents attribute modifications that were performed on the - "NFV-MANO entity" resource of the producer NFV-MANO functional entity. - The attributes that can be included consist of those requested to be - modified explicitly in the "ManoConfigModificationRequest" data - structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoEntity", as defined in clause 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain entries - in "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as defined in - clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - If present, this attribute signals modification of the "name" - attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - CimSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO configuration and information management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - CimSubscription: - description: > - This type represents a subscription related to notifications about - NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - ChangeStateRequest: - description: > - This type represents request parameters for changing the state of a - managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - ChangeStateOpOcc: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute shall - be formatted according to the request data type of the related - change state operation. - - The following mapping between operationType and the data type of - this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned in a - response to reading an individual resource, and may be present - according to the chosen attribute selector parameter if this data - type is returned in a response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - ManoServiceInterface: - description: > - This type represents an individual NFV-MANO service interface produced - by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO functional entity interface. - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - ManoServiceInterfaceModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer NFV-MANO - functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - ManoServiceInterfaceModifications: - description: > - This type represents attribute modifications that were performed on an - Individual NFV-MANO service interface" resource. The attributes that - can be included consist of those requested to be modified explicitly in - the "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - CreatePeerEntityRequest: - description: > - This type represents request parameters for the creation of a new peer - entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - PeerEntity: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API consumer - when creating the resource or when updating it with the PATCH - method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - PeerEntityConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or "null" - to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity ", as - defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - PeerEntityConfigModifications: - description: > - This type represents attribute modifications that were performed on an - "Individual peer entity" resource. The attributes that can be included - consist of those requested to be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If applicable, - additional attributes of the "PeerEntity" data structure that were - modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain entries - in the "consumedManoInterfaces" attribute in "PeerEntity", as - defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - ManoConfigurableParams: - description: | - # Warning: No definition found in the document ManoConfigurableParams - ManoEntityComponent: - description: > - This type represents information of a deployed component realizing part - of an NFV-MANO functional entity. It is optional for the API producer - to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the NFV-MANO - functional entity component. The identifier of the ManoService is - referred. A service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - id - ManoService: - description: > - This type represents information about an NFV-MANO service provided by - the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" resources - with information about the associated interfaces to the - NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - NfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO entity, - and that can be relevant to more than one NFV-MANO service offered by - an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - VnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to determine - the compatibility of a VNF with certain VNFM according to the - vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS - NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - VimSpecificInfo: - description: > - This type represents information attributes specific to a VIM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VIM entity. - type: object - ManoEntityConfigurableParams: - description: > - This type represents list of parameters that can be configured on the - NFV MANO functional entity. - type: object - properties: - clockSyncs: - description: >- - Properties of the clock synchronization to be used by the NFV-MANO - functional entity. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - minItems: 1 - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - required: - - clockSyncs - - defaultLogCompileBySizeValue - - defaultLogCompileByTimerValue - ConsumedManoInterfaceInfo: - description: > - This type represents an interface consumed by the producer NFV MANO - functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and path - where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by - TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as - defined by the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, - the request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the API producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - CimNotificationsFilter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - ClockSyncInfo: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - type - ServerInterfaceSecurityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by the - API producer when performing the SSL or TLS negotiation with the - API client. Valid values of cipher suites are defined in IETF - RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - ClientInterfaceSecurityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS - 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by - the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, the - request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the authorization server. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the API producer. Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - ManoServiceInterfaceTypeShortName: - description: "For the RESTful NFV-MANO APIs, valid values are all values for \"apiName\" as defined in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.\nFor the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid values are defined in table 5.6.4.3-1.\nNOTE:\tThe table is expected to be updated, by removing the corresponding listed entries, once the interfaces are specified as a RESTful NFV-MANO API. \n" - type: string - UsageStateEnumType: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - ChangeOperationalStateEnumType: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - ChangeAdministrativeStateEnumType: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - InterfaceOperationalStateEnumType: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - StopEnumType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - ManoEntityEnumType: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - PeerEntityEnumType: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - parameters: - filter.ManoServiceInterface: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ManoServiceInterface and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.CimSubscription: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.ChangeStateOpOcc: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.PeerEntity: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - exclude_default.ManoServiceInterface: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.CimSubscription: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the CimSubscription - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.ChangeStateOpOcc: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the ChangeStateOpOcc - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.PeerEntity: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - manoServiceInterfaceId: - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - changeStateOpOccId: - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - ModifyManoEntityRequest: - description: > - Parameters for the NFV-MANO configuration and information modification, - as defined in clause 5.6.2.3. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined below - this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - ChangeManoEntityStateRequest: - description: | - Parameters for the change state operation, as defined in clause 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - ModifyManoEnityInterfaceRequest: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - ChangeManoEntityInterfaceStateRequest: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - CimSubscriptionRequest: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - CreatePeerEntityRequest: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a new - peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - ModifyPeerEntityRequest: - description: > - Parameters for the modification of configuration parameters of the peer - functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity - ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - mano_entity.get.200: - description: > - 200 OK - - Shall be returned when configuration and information about the NFV-MANO - functional entity has been read successfully. The response body shall - contain a representation of the NFV-MANO functional entity, as defined - in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. - $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of - the ManoService is referred. A service may depend on - multiple components. Multiple services may depend on the - same component. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on - the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see - table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - mano_entity.patch.200: - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on the "NFV-MANO entity" resource of the producer NFV-MANO - functional entity. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain - entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - If present, this attribute signals modification of the - "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - mano_entity.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "NFV-MANO - entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interfaces.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO service - interfaces has been queried successfully. - - The response body shall contain in an array the representations of zero - or more NFV-MANO service interfaces, as defined in clause 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. - The major version is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI - GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interfaces.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.get.200: - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO service - interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interface.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" resource, - as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an Individual NFV-MANO service interface" resource. The - attributes that can be included consist of those requested to be - modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" - data structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause - 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - mano_entity-mano_interface.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-mano_interface-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that points to - the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.post.303: - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of NFV-MANO functional - entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing "Individual subscription" resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - subscriptions.get.200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method, - i.e., zero or more representations of NFV-MANO configuration and - information management subscriptions as defined in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscription.get.200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has - been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - change_state_ops.get.200: - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", as - defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request data - type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - change_state_ops.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - change_state_op.get.200: - description: > - 200 OK - - Shall be returned when information about an "Individual change state - operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change state - operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute - shall be formatted according to the request data type of the - related change state operation. - - The following mapping between operationType and the data type - of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned - in a response to reading an individual resource, and may be - present according to the chosen attribute selector parameter - if this data type is returned in a response to a query of a - container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - peer_entities.post.201: - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has been - created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that points to - the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual peer entity" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more peer entities has - been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.get.200: - description: > - 200 OK - - Shall be returned when information about an individual peer functional - entity has been read successfully. - - The response body shall contain a resource representation of the peer - functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entitie.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined in - clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an "Individual peer entity" resource. The attributes that can - be included consist of those requested to be modified explicitly - in the "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain - entries in the "consumedManoInterfaces" attribute in - "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - peer_entitie.patch.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - peer_entitie.delete.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 3680ae513..2fe757dd3 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -176,11 +176,11 @@ DELETE Subscriptions - Method not implemented POST Create a new subscription - Unprocessable Entity [Documentation] Test ID: 8.3.1.10.13 ... Test title: POST Create a new Subscription - Unprocessable Entity - ... Test objective: The objective is to test that for a POST request for a new subscription, if the test by NFV-MANO for notification endpoint fails, then error 422 will be returned. + ... Test objective: The objective is to test that a new subscription is not created if the notification endpoint is unreachable by the NFV-MANO. ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: Notification endpoint test by NFV-MANO fails. + ... Applicability: Notification endpoint is unreachable by the NFV-MANO ... Post-Conditions: none Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 -- GitLab From 6e36e58d772daf069b9e12f641aa461829114bae Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 12:18:23 +0500 Subject: [PATCH 011/211] update doc version to 3.5.1 and modify POST on PMJob resource --- .../IndividualPmJob.robot | 14 +- .../IndividualReport.robot | 12 +- .../IndividualSubscription.robot | 14 +- .../IndividualThreshold.robot | 14 +- .../NotificationEndpoint.robot | 4 +- .../Notifications.robot | 4 +- .../PMJobs.robot | 83 +- ...L009-NFVMANOPerformanceManagement-API.yaml | 20940 ---------------- .../Subscriptions.robot | 24 +- .../Thresholds.robot | 18 +- .../environment/variables.txt | 1 + 11 files changed, 116 insertions(+), 21012 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index fb16841cf..2e859232c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -11,7 +11,7 @@ POST Individual NFV-MANO Performance Job - Method not implemented ... Test title: POST Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET individual NFV-MANO Performance Job ... Test title: Get individual NFV-MANO Performance Job ... Test objective: The objective is to test the retrieval of an individual performance monitoring job and perform a JSON schema validation of the collected job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Get individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual NFV-MANO Performance Job - Method not implemented ... Test title: PUT Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual NFV-MANO Performance Job - Method not implemented ... Test title: PATCH Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual NFV-MANO Performance Job ... Test title: Delete Individual NFV-MANO Performance Job ... Test objective: The objective is to test the deletion of an individual performance monitoring job ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is no more available. @@ -87,7 +87,7 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Delete individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NFV-MANO performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot index 873fa6f4f..8eac0c695 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NFV-MANO performance report associated to a monitoring job fails when using an invalid resource endpoint. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NFV-MANO performance report within a monitoring job ... Pre-conditions: none - ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANOM ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot index 2e0558a51..90735e180 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Performance Subscription ... Test title: GET Individual Performance Subscription ... Test objective: The objective is to test the retrieval of individual performance subscription and perform a JSON schema validation of the returned subscription data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Performance Subscription with invalid resource identifier ... Test title: GET Individual Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance subscription fails when using an invalid resource identifier. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Performance Subscription ... Test title: DELETE Individual Performance Subscription ... Test objective: The objective is to test the deletion of an individual performance subscription ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Performance Subscription is not available anymore in the NFV-MANO @@ -51,7 +51,7 @@ DELETE Individual Performance Subscription with invalid resource identifier ... Test title: DELETE Individual Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual performance subscription fails when using an invalid resource identifier. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Performance Subscription - Method not implemented ... Test title: POST Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Subscription ... Pre-conditions: none - ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Individual Performance Subscription - Method not implemented ... Test title: PUT Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance subscription. ... Pre-conditions: none - ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Individual Performance Subscription - Method not implemented ... Test title: PATCH Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance subscription ... Pre-conditions: none - ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot index d66a5f555..d6314cebc 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NFV-MANO performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance jobs are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Threshold - Method not implemented ... Test title: PATCH Individual Threshold - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Performance Threshold is not available anymore in the NFV-MANO @@ -87,7 +87,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot index 420b3280a..888fb32c7 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ Performance Information Available Notification ... Test title: Performance Information Available Notification ... Test objective: The objective is to test that Performance Available Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for performance available notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test that Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for threshold crosssed notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index c2aaba955..0be775d25 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -17,7 +17,7 @@ Performance Information Availability Notification ... Test title: Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of Performance Information Availability Notification when new performance information is available in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of Threshold Crossed Notification when a previously set performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a threshold subscription is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 66281f44c..da9bcd39e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -9,12 +9,12 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -Create new NFV-MANO Performance Monitoring Job +POST Create new NFV-MANO Performance Monitoring Job [Documentation] Test ID: 8.3.2.1.1 - ... Test title: Create a new NFV-MANO Performance Monitoring Job + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NFV-MANO performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is successfully created on the NFV-MANO @@ -28,7 +28,7 @@ GET all NFV-MANO Performance Monitoring Jobs ... Test title: GET all NFV-MANO Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance monitoring jobs and perform a JSON schema validation ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NFV-MANO performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute sele ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of fields attribute selector ... Post-Conditions: none @@ -93,7 +93,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selec ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -106,7 +106,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails with invalid attribute selector ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test title: GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to retrieve information about the performance monitoring jobs to get paged response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET information about multiple Performance Monitoring Jobs for Bad Request Respo ... Test title: GET information about multiple Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about performance monitoring jobs when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET information about multiple Performance Monitoring Jobs with "fields" and "ex ... Test title: GET all NFV-MANO Performance Monitoring Jobs with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve all performance monitoring jobs with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ Get information about multiple Performance Monitoring Jobs with malformed author ... Test title: Get information about multiple Performance Monitoring Jobs with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using malformed authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ Get information about multiple Performance Monitoring Jobs without authorization ... Test title: Get information about multiple Performance Monitoring Jobs without authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when omitting the authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple Performance Monitoring Jobs with expired or revok ... Test title: GET information about multiple Performance Monitoring Jobs with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +207,7 @@ PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ PATCH all NFV-MANO Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,13 +231,26 @@ DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Check HTTP Response Status Code Is 405 +POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification Endpoint + [Documentation] Test ID: 8.3.2.1.19 + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job + ... Test objective: The objective is to test that a new NFV_MANO Performance Monitoring Job is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** GET all NFV-MANO Performance Monitoring Jobs Log Trying to get all PM Jobs present in the NFV-MANO @@ -351,7 +364,19 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/CreatePmJobRequest.json ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} +Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Unreachable Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -390,6 +415,24 @@ Check Postcondition PmJob Exists Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PmJob +Check GET response from Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_uri} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_uri} + +Check GET response from Unreachable Notification Endpoint + Log Creating mock request and response to handle GET operation on unreachable notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} + &{notification_response}= Create Mock Response status_code=404 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${unreachable_callback_uri} + Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} diff --git a/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml b/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml deleted file mode 100644 index 38e44fa0c..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml +++ /dev/null @@ -1,20940 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Performance Management Interface - description: > - SOL009 - NFV-MANO Performance Management Interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' - contact: - name: NFV-SOL WG -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://0.0.0.0/nfvmanopm/v1' - description: | - API HTTP Server - - url: 'https://0.0.0.0/nfvmanopm/v1' - description: | - API HTTPS Server -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /pm_jobs: - post: - description: > - Creates a PM job. - - This method shall follow the provisions specified in the tables - 6.5.3.3.1-1 and 6.5.3.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - PM job creation request. - content: - application/json: - schema: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is requested to be collected. This - attribute shall contain the identifier of the instance of - the measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. If more - than one identifier is provided, values shall all refer to - measured object instances of the same type, for which the - same criteria is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is present, - the cardinality of the "objectInstanceIds" attribute shall - be 1. If this attribute is absent and a sub-object is - defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, measurements will be taken - for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the PM job has been created successfully. - - The response body shall contain a representation of the created - "Individual PM job" resource, as defined in clause 6.6.2.7. - - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual PM job" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is - present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, measurements - will be taken for all sub-object instances of the - measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values - as defined in clause 8.4 of ETSI GS NFV-IFA 031. At - least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: | - The client can use this method to retrieve information about PM jobs. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PmJob and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PmJob structure - in the response body if this parameter is provided, or none of the - parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more PM jobs has - been queried successfully. - - The response body shall contain in an array the representations of - zero or more PM jobs, as defined in clause 6.6.2.7. - - If the "filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a PM job. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type. If this - attribute is present, the cardinality of the - "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for - all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for - the specified measured object(s). This attribute’s - value shall contain the related "Measurement Name" - values as defined in clause 8.4 of ETSI GS NFV-IFA - 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 - of ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer - will inform the API consumer about availability of - the performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within - one reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can - be supported depends on the capability of the - producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer - will inform the API consumer about availability of - the performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within - one reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can - be supported depends on the capability of the - producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/pm_jobs/{pmJobId}': - parameters: - - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: | - The client can use this method for reading an individual PM job. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual PM job has - been read successfully. - - The response body shall contain a representation of the "Individual - PM job" resource, as defined in clause 6.6.2.7. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is - present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, measurements - will be taken for all sub-object instances of the - measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values - as defined in clause 8.4 of ETSI GS NFV-IFA 031. At - least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method terminates an individual PM job. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: | - 204 NO CONTENT - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/pm_jobs/{pmJobId}/reports/{reportId}': - parameters: - - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - - name: reportId - in: path - description: Identifier of the PM report - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The client can use this method for reading an individual performance - report. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information of an individual performance - report has been read successfully. - - The response body shall contain a representation of the "Individual - performance report" resource, as defined in clause 6.6.2.10. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type defines the format of a performance report provided - by the NFV-MANO functional entity to the API consumer as a - result of collecting performance information as part of a PM - job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance - report entry is for a given metric of a given object - (i.e. measured object instance) corresponding to the - related measured object types, but can include multiple - collected values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured - object type for a measurement is defined in clause - 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable - if attribute "manoEntityComponents" in - "ManoEntity" is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being - globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall - contain the related "Measurement Name" value as - defined in clause 8.4 of ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: > - List of performance values with associated - timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String - formatted according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of - this attribute shall correspond to the - related "Measurement Unit" as defined in - clause 8.4 of ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value - pairs. The order of the pairs in the list is - not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall - comply with the provisions defined in clause 4 - of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys - ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be - of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /thresholds: - post: - description: | - The POST method can be used by the client to create a threshold. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - Request parameters to create a threshold. - content: - application/json: - schema: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI GS - NFV-IFA 031 for the related measured object type. If this - attribute is absent and a sub-object is defined in clause - 8.2 of ETSI GS NFV-IFA 031 for the related measured object - type, thresholds will be set for all sub-object instances - of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left - for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when a threshold has been created successfully. - - The response body shall contain a representation of the created - "Individual threshold" resource, as defined in clause 6.6.2.9. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created "Individual threshold" - resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold types - is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: | - The client can use this method to query information about thresholds. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the Threshold and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more thresholds - has been queried successfully. - - The response body shall contain in an array the representations of - zero or more thresholds, as defined in clause 6.6.2.9. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: '' - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - An identifier with the intention of being globally - unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold - types is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/thresholds/{thresholdId}': - parameters: - - name: thresholdId - in: path - description: Identifier of the PM threshold - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: | - The client can use this method for reading an individual threshold - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual threshold - has been read successfully. - - The response body shall contain a representation of the threshold, - as defined in clause 6.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold types - is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method allows to delete a threshold. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: | - 204 NO CONTENT - Shall be returned when the threshold has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: | - The POST method creates a new subscription. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management - events. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. - - A representation of the created subscription resource shall be - returned in the response body, as defined in clause 6.6.2.3. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created "Individual subscription" - resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '303': - description: > - 303 SEE OTHER - - Shall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of the NFV-MANO - functional entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the existing "Individual subscription" - resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - The client can use this method to query the list of active - subscriptions to performance management notifications subscribed by the - client. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PmSubscription and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of - all active subscriptions of the functional block that invokes the - method, i.e. zero or more representations of PM subscriptions as - defined in clause 6.6.2.3. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: | - This type represents a subscription. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical - "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to - reference to NFV-MANO services in a filter. They - should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The client can use this method for reading an individual subscription - about performance management notifications subscribed by the client. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the subscription has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 6.6.2.3. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method terminates an individual subscription. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - schemas: - PmSubscriptionRequest: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to - match (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between the values of - one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - PmSubscription: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to - match (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between the values of - one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - CreatePmJobRequest: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which performance - information is requested to be collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of ETSI - GS NFV-IFA 031. If more than one identifier is provided, values - shall all refer to measured object instances of the same type, for - which the same criteria is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type. If this - attribute is present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined - list of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to - the API consumer about performance information. The unit shall - be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - PmJob: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which performance - information is collected. This attribute shall contain the - identifier of the instance of the measure object according to their - type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type. If this - attribute is present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined - list of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to - the API consumer about performance information. The unit shall - be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object instances - for which performance information is collected. Shall be - present if the measured object instance information is - accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - CreateThresholdRequest: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, thresholds will be set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. - This attribute’s value shall contain the related "Measurement - Name" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - Threshold: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, thresholds are set for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. - This attribute’s value shall contain the related "Measurement - Name" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - PerformanceReport: - description: > - This type defines the format of a performance report provided by the - NFV-MANO functional entity to the API consumer as a result of - collecting performance information as part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance report - entry is for a given metric of a given object (i.e. measured object - instance) corresponding to the related measured object types, but - can include multiple collected values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall contain the - related "Measurement Name" value as defined in clause 8.4 of - ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: | - List of performance values with associated timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of this - attribute shall correspond to the related "Measurement - Unit" as defined in clause 8.4 of ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - PmNotificationsFilter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the values in - the array matches (logical "or" between the values of one filter - attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - PmJobCriteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of ETSI - GS NFV-IFA 031. At least one of the two attributes (performance - metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined list - of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of ETSI - GS NFV-IFA 031. At least one of the two attributes (performance - metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the API - consumer about availability of the performance data collected for - each completed collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance data for the - collection periods within one reporting period are reported - together. - - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the - capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to the - API consumer about performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will inform the API - consumer about availability of the performance data collected for - each completed collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance data for the - collection periods within one reporting period are reported - together. - - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the - capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - ThresholdCriteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. This - attribute’s value shall contain the related "Measurement Name" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other attributes - are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - responses: - pm_jobs.post.201: - description: > - 201 CREATED - - Shall be returned when the PM job has been created successfully. - - The response body shall contain a representation of the created - "Individual PM job" resource, as defined in clause 6.6.2.7. - - The HTTP response shall include a "Location" HTTP header that points to - the created "Individual PM job" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of - ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is collected. - Shall be present if the measured object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_jobs.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more PM jobs has been - queried successfully. - - The response body shall contain in an array the representations of zero - or more PM jobs, as defined in clause 6.6.2.7. - - If the "filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure - object according to their type. See also definitions in - clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is present, - the cardinality of the "objectInstanceIds" attribute shall - be 1. If this attribute is absent and a sub-object is - defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, measurements will be taken - for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_jobs.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - pm_job.get.200: - description: > - 200 OK - - Shall be returned when information about an individual PM job has been - read successfully. - - The response body shall contain a representation of the "Individual PM - job" resource, as defined in clause 6.6.2.7. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of - ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is collected. - Shall be present if the measured object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_job.delete.204: - description: | - 204 NO CONTENT - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - pm_job.report.get.200: - description: > - 200 OK - - Shall be returned when information of an individual performance report - has been read successfully. - - The response body shall contain a representation of the "Individual - performance report" resource, as defined in clause 6.6.2.10. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type defines the format of a performance report provided by - the NFV-MANO functional entity to the API consumer as a result of - collecting performance information as part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance - report entry is for a given metric of a given object (i.e. - measured object instance) corresponding to the related - measured object types, but can include multiple collected - values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall - contain the related "Measurement Name" value as defined - in clause 8.4 of ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: | - List of performance values with associated timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of this - attribute shall correspond to the related - "Measurement Unit" as defined in clause 8.4 of - ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - thresholds.post.201: - description: > - 201 CREATED - - Shall be returned when a threshold has been created successfully. - - The response body shall contain a representation of the created - "Individual threshold" resource, as defined in clause 6.6.2.9. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the created "Individual threshold" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds are set - for all sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - thresholds.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more thresholds has - been queried successfully. - - The response body shall contain in an array the representations of zero - or more thresholds, as defined in clause 6.6.2.9. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI GS - NFV-IFA 031 for the related measured object type. If this - attribute is absent and a sub-object is defined in clause - 8.2 of ETSI GS NFV-IFA 031 for the related measured object - type, thresholds are set for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left - for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - thresholds.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - threshold.get.200: - description: > - 200 OK - - Shall be returned when information about an individual threshold has - been read successfully. - - The response body shall contain a representation of the threshold, as - defined in clause 6.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds are set - for all sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - threshold.delete.204: - description: | - 204 NO CONTENT - Shall be returned when the threshold has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - - A representation of the created subscription resource shall be returned - in the response body, as defined in clause 6.6.2.3. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscriptions.post.303: - description: > - 303 SEE OTHER - - Shall be returned when a subscription with the same callbackURI and the - same filter already exists and the policy of the NFV-MANO functional - entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing "Individual subscription" resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - subscriptions.get.200: - description: > - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method, - i.e. zero or more representations of PM subscriptions as defined in - clause 6.6.2.3. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management - events. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscriptions.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscription.get.200: - description: > - 200 OK - - Shall be returned when the subscription has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 6.6.2.3. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - parameters: - filter.PmJob: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PmJob and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - filter.Threshold: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the Threshold and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - filter.PmSubscription: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PmSubscription and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - exclude_default.PmJob: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PmJob structure in - the response body if this parameter is provided, or none of the - parameters "all_fields," "fields", "exclude_fields", "exclude_default" - are provided: - none - in: query - required: false - schema: - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - pmJobId: - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - reportId: - name: reportId - in: path - description: Identifier of the PM report - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - thresholdId: - name: thresholdId - in: path - description: Identifier of the PM threshold - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - CreatePMJobRequest: - description: | - PM job creation request. - content: - application/json: - schema: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is requested to be collected. This - attribute shall contain the identifier of the instance of the - measure object according to their type. See also definitions - in clause 8.2 of ETSI GS NFV-IFA 031. If more than one - identifier is provided, values shall all refer to measured - object instances of the same type, for which the same criteria - is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - required: true - CreateThesholdRequest: - description: | - Request parameters to create a threshold. - content: - application/json: - schema: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds will be - set for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - required: true - CreateSubscriptionRequest: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - diff --git a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot index 013db6210..d3d2afb15 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET all Performance Subscriptions ... Test title: GET all Performance Subscriptions ... Test objective: The objective is to test the retrieval of all performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Performance Subscriptions with attribute-based filter ... Test title: GET Performance Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ GET Performance Management Subscriptions with Paged Response ... Test title: GET Performance Management Subscriptions with Paged Response ... Test objective: The objective is to query information about NFV-MANO Performance Subscriptions to get Paged Response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET Performance Subscriptions with invalid attribute-based filter ... Test title: GET Performance Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Performance Subscriptions - Bad Request Response too Big ... Test title: GET Performance Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: @@ -82,7 +82,7 @@ GET Performance Subscriptions with invalid resource endpoint ... Test title: GET Performance Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all performance subscriptions fails when using invalid resource endpoint. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ Create new Performance subscription ... Test title: Create new Performance subscription ... Test objective: The objective is to test the creation of a new performance subscription and perform a JSON schema and content validation of the returned subscription data structure. ... Pre-conditions: An instance is instantiated. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The performance subscription is successfully set and it matches the issued subscription. @@ -111,7 +111,7 @@ Create duplicated Performance subscription with NFV-MANO not creating duplicated ... Test title: Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated performance subscription and check that no new subscription is created by the NFV-MANO and a link to the original subscription is returned ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing performance subscription returned is available in the NFV-MANO @@ -127,7 +127,7 @@ Create duplicated Performance subscription with NFV-MANO creating duplicated sub ... Test title: Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated performance subscription is successfully set and it matches the issued subscription @@ -142,7 +142,7 @@ PUT Performance Subscriptions - Method not implemented ... Test title: PUT Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ PATCH Performance Subscriptions - Method not implemented ... Test title: PATCH Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ DELETE Performance Subscriptions - Method not implemented ... Test title: DELETE Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 71a956bf4..5a82e678f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -13,7 +13,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Threshold is successfully created on the NFV-MANO @@ -28,7 +28,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds and perform a JSON schema validation of the collected thresholds data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set in the NFV-MANO. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Performance Threshold with Paged Response ... Test title: GET Performance Threshold with Paged Response ... Test objective: The objective is to query information about NFV-MANO Performance Thresholds to get Paged Response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET Performance Thresholds - Invalid attribute-based filter ... Test title: GET Performance Thresholds - Invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET Performance Threshold - Bad Request Response too Big ... Test title: GET Performance Threshold - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 877c07bfe..d9b2c9a50 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -22,6 +22,7 @@ ${apiName} nfvmanopm ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions ${callback_endpoint_error} /subs_404 ${sleep_interval} 20s -- GitLab From d8aaf3b9bbd67a4699158bf370ae388f5e49fad4 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 12:30:14 +0500 Subject: [PATCH 012/211] create separate keywords robot file for NFVMANO PM API --- .../NFVMANOPMKeywords.robot | 214 ++++++++++++++++++ .../PMJobs.robot | 206 +---------------- 2 files changed, 215 insertions(+), 205 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot new file mode 100644 index 000000000..8e37061b6 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -0,0 +1,214 @@ +*** Settings *** +Library String +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource environment/pmJobs.txt +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Keywords *** +GET all NFV-MANO Performance Monitoring Jobs + Log Trying to get all PM Jobs present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs with malformed authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs without authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries omitting token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs with expired or revoked authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector + Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector + Log Query VNF The GET method queries information about multiple VNF instances. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Send Post Request Create new NFV-MANO Performance Monitoring Job + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Unreachable Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition PmJob Exists + Log Checking that Pm Job exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJob + +Check GET response from Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_uri} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_uri} + +Check GET response from Unreachable Notification Endpoint + Log Creating mock request and response to handle GET operation on unreachable notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} + &{notification_response}= Create Mock Response status_code=404 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${unreachable_callback_uri} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Check HTTP Response Header Contains Link + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index da9bcd39e..10f6c6348 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library String Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt +Resource NFVMANOPMKeywords.robot Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -250,208 +251,3 @@ POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification E Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails - -*** Keywords *** -GET all NFV-MANO Performance Monitoring Jobs - Log Trying to get all PM Jobs present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs with malformed authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication - Log The GET method queries using invalid token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs without authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication - Log The GET method queries omitting token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs with expired or revoked authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication - Log The GET method queries using invalid token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector - Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Send Post Request Create new NFV-MANO Performance Monitoring Job - Log Creating a new PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - Check GET response from Notification Endpoint - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint - Log Creating a new PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - Check GET response from Unreachable Notification Endpoint - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition PmJob Exists - Log Checking that Pm Job exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmJob - -Check GET response from Notification Endpoint - Log Creating mock request and response to handle GET operation on notification endpoint - &{notification_request}= Create Mock Request Matcher GET ${callback_uri} - &{notification_response}= Create Mock Response status_code=204 - Log Issue the subscription request - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${callback_uri} - -Check GET response from Unreachable Notification Endpoint - Log Creating mock request and response to handle GET operation on unreachable notification endpoint - &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} - &{notification_response}= Create Mock Response status_code=404 - Log Issue the subscription request - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${unreachable_callback_uri} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file -- GitLab From de0dca1d9953f9b18cb60c160fd01478ccd5710b Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 14:31:56 +0500 Subject: [PATCH 013/211] move individual PM job keywords to common NFVMANO PM keyword file --- .../IndividualPmJob.robot | 90 +------------------ .../NFVMANOPMKeywords.robot | 69 ++++++++++++++ 2 files changed, 70 insertions(+), 89 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index 2e859232c..b1f25c2b0 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Resource environment/IndividualPmJob.txt +Resource NFVMANOPMKeywords.robot Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** @@ -93,92 +94,3 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Post-Conditions: none Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Check HTTP Response Status Code Is 404 - -*** Keywords *** -GET individual NFV-MANO Performance Job - Log Trying to get a Pm Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative get, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job - Log Trying to delete an existing PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative delete, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for individual NFV-MANO Performance Job - Log Trying to perform a POST (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for individual NFV-MANO Performance Job - Log Trying to perform a POST (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for individual NFV-MANO Performance Job - Log Trying to perform a PATCH (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition NFV-MANO Pm Job is Deleted - Log Check Postcondition - GET individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 404 - -Check HTTP Response Body Pm Job Identifier matches the requested Pm Job - Log Going to validate Pm Job info retrieved - Should Be Equal ${response['body']['id']} ${pmJobId} - Log Pm Job identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 8e37061b6..76044fd66 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -212,3 +212,72 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Header Contains Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} + +GET individual NFV-MANO Performance Job + Log Trying to get a Pm Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative get, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job + Log Trying to delete an existing PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative delete, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for individual NFV-MANO Performance Job + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for individual NFV-MANO Performance Job + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition NFV-MANO Pm Job is Deleted + Log Check Postcondition + GET individual NFV-MANO Performance Job + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Pm Job Identifier matches the requested Pm Job + Log Going to validate Pm Job info retrieved + Should Be Equal ${response['body']['id']} ${pmJobId} + Log Pm Job identifier as expected -- GitLab From 1dac9845db3c0c0d4677759b1840f877f5b4a026 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 16:23:37 +0500 Subject: [PATCH 014/211] implement PATCH method for individual PM job for PM API --- .../IndividualPmJob.robot | 40 ++++++++++++++++--- .../NFVMANOPMKeywords.robot | 32 ++++++++++++++- .../environment/IndividualPmJob.txt | 3 +- .../jsons/PmJobModifications.json | 3 ++ 4 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index b1f25c2b0..0059d50c4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -4,6 +4,7 @@ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Resource environment/IndividualPmJob.txt Resource NFVMANOPMKeywords.robot +Resource ../NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** @@ -58,17 +59,18 @@ PUT Individual NFV-MANO Performance Job - Method not implemented Send Put request for individual NFV-MANO Performance Job Check HTTP Response Status Code Is 405 -PATCH Individual NFV-MANO Performance Job - Method not implemented +PATCH Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.5 - ... Test title: PATCH Individual NFV-MANO Performance Job - method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NFV-MANO Performance Monitoring Job - ... Pre-conditions: none + ... Test title: PATCH Individual NFV-MANO Performance Job + ... Test objective: The objective is to test that PATCH method modify an existing individual NFV-MANO Performance Monitoring Job + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: PM Job resource is modified. Send Patch request for individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJobModifications DELETE Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.6 @@ -94,3 +96,29 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Post-Conditions: none Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Check HTTP Response Status Code Is 404 + +PATCH Individual NFV-MANO Performance Job - Precondition failed + [Documentation] Test ID: 8.3.2.2.8 + ... Test title: PATCH Individual NFV-MANO Performance Job - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO Performance job where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual NFV-MANO Performance Job - Unprocessable entity + [Documentation] Test ID: 8.3.2.2.9 + ... Test title: PATCH Individual NFV-MANO Performance Job - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 76044fd66..850c5fdbd 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -3,6 +3,7 @@ Library String Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt +Resource environment/IndividualPmJob.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -265,10 +266,37 @@ Send Put request for individual NFV-MANO Performance Job Set Suite Variable ${response} ${output} Send Patch request for individual NFV-MANO Performance Job - Log Trying to perform a PATCH (method should not be implemented) + Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Log Trying to perform a PATCH on PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri}:${callback_port} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt index b3616b30f..6c35d79f8 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt @@ -3,4 +3,5 @@ ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId ${newPmJobId} newPmJobId ${response}= httpresponse -${OrigResponse}= httpresponse \ No newline at end of file +${OrigResponse}= httpresponse +${invalid_etag} invalid etag \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json new file mode 100644 index 000000000..901b75c2d --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json @@ -0,0 +1,3 @@ +{ + "callbackUri": "{callbackUri}" +} \ No newline at end of file -- GitLab From dcb71faf47775d1d2751352ae8bdcf7dce886d0b Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 16:35:35 +0500 Subject: [PATCH 015/211] remove subscriptions and individual subscription resources from PM API --- .../IndividualSubscription.robot | 171 ---------- .../Subscriptions.robot | 323 ------------------ .../environment/subscriptions.txt | 7 - .../jsons/subscriptions.json | 6 - .../schemas/PmSubscription.schema.json | 110 ------ .../schemas/PmSubscriptions.schema.json | 113 ------ indexes/sol_009_index.csv | 4 +- 7 files changed, 2 insertions(+), 732 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot deleted file mode 100644 index 90735e180..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot +++ /dev/null @@ -1,171 +0,0 @@ -*** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/individualSubscription.txt - -*** Test Cases *** -GET Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.1 - ... Test title: GET Individual Performance Subscription - ... Test objective: The objective is to test the retrieval of individual performance subscription and perform a JSON schema validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Individual Performance Subscription - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body Subscription Identifier matches the requested Subscription - -GET Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.2 - ... Test title: GET Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the retrieval of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - GET individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -DELETE Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.3 - ... Test title: DELETE Individual Performance Subscription - ... Test objective: The objective is to test the deletion of an individual performance subscription - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The Performance Subscription is not available anymore in the NFV-MANO - Send Delete request for individual Performance Subscription - Check HTTP Response Status Code Is 204 - Check Postcondition Performance Subscription is Deleted - -DELETE Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.4 - ... Test title: DELETE Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the deletion of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete request for individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -POST Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.5 - ... Test title: POST Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Post request for individual Performance Subscription - Check HTTP Response Status Code Is 405 - -PUT Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.6 - ... Test title: PUT Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance subscription. - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -PATCH Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.7 - ... Test title: PATCH Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -*** Keywords *** -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Get Individual Performance Subscription - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Body Subscription Identifier matches the requested Subscription - Log Trying to check response ID - Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} - Log Subscription identifier as expected - -GET individual Performance Subscription with invalid resource identifier - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual Performance Subscription - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual Performance Subscription with invalid resource identifier - Log Trying to delete a subscription in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Check Postcondition Performance Subscription is Deleted - Log Check Postcondition Subscription is deleted - GET individual Performance Subscription - Check HTTP Response Status Code Is 404 - -Send Post request for individual Performance Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Put request for individual Performance Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Patch request for individual Performance Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot deleted file mode 100644 index d3d2afb15..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot +++ /dev/null @@ -1,323 +0,0 @@ -*** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/subscriptions.txt -Library MockServerLibrary -Library Process -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true - -*** Test Cases *** -GET all Performance Subscriptions - [Documentation] Test ID: 8.3.2.6.1 - ... Test title: GET all Performance Subscriptions - ... Test objective: The objective is to test the retrieval of all performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Subscriptions with attribute-based filter - [Documentation] Test ID: 8.3.2.6.2 - ... Test title: GET Performance Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with attribute-based filters - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Management Subscriptions with Paged Response - [Documentation] Test ID: 8.3.2.6.3 - ... Test title: GET Performance Management Subscriptions with Paged Response - ... Test objective: The objective is to query information about NFV-MANO Performance Subscriptions to get Paged Response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Header Contains Link - -GET Performance Subscriptions with invalid attribute-based filter - [Documentation] Test ID: 8.3.2.6.4 - ... Test title: GET Performance Subscriptions with invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid attribute-based filters - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions - Bad Request Response too Big - [Documentation] Test ID: 8.3.2.6.5 - ... Test title: GET Performance Subscriptions - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NFV-MANO performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get all Performance Subscriptions - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions with invalid resource endpoint - [Documentation] Test ID: 8.3.2.6.6 - ... Test title: GET Performance Subscriptions with invalid resource endpoint - ... Test objective: The objective is to test that the retrieval of all performance subscriptions fails when using invalid resource endpoint. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid resource endpoint - Check HTTP Response Status Code Is 404 - -Create new Performance subscription - [Documentation] Test ID: 8.3.2.6.7 - ... Test title: Create new Performance subscription - ... Test objective: The objective is to test the creation of a new performance subscription and perform a JSON schema and content validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The performance subscription is successfully set and it matches the issued subscription. - Send Post Request for Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - - -Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - [Tags] no-duplicated-subs - [Documentation] Test ID: 8.3.2.6.8 - ... Test title: Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - ... Test objective: The objective is to test the attempt of a creation of a duplicated performance subscription and check that no new subscription is created by the NFV-MANO and a link to the original subscription is returned - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions - ... Post-Conditions: The existing performance subscription returned is available in the NFV-MANO - Send Post Request for Duplicated Performance Subscription - Check HTTP Response Status Code Is 303 - Check HTTP Response Body Is Empty - Check HTTP Response Header Contains Location - Check Postcondition Subscription Resource Returned in Location Header Is Available - -Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - [Tags] duplicated-subs - [Documentation] Test ID: 8.3.2.6.9 - ... Test title: Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - ... Test objective: The objective is to test the creation of a duplicated performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions - ... Post-Conditions: The duplicated performance subscription is successfully set and it matches the issued subscription - Send Post Request for Duplicated Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - -PUT Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.10 - ... Test title: PUT Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to modify performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -PATCH Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.11 - ... Test title: PATCH Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -DELETE Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.12 - ... Test title: DELETE Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -*** Keywords *** - -Create Sessions - Pass Execution If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} - -Check Notification Endpoint - &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} - &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - -Check HTTP Response Body Subscription Identifier matches the requested Subscription - Log Trying to check response ID - Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} - Log Subscription identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Body Is Empty - Should Be Empty ${response['body']} - Log No json schema is provided. Validation OK - -Get all Performance Subscriptions - Set headers {"Accept": "application/json"} - Set headers {"Content-Type": "application/json"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - - Get Performance Subscriptions with attribute-based filters - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Performance Subscriptions with invalid attribute-based filters - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Performance Subscriptions with invalid resource endpoint - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscription - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request for Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint - -Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Log Check Response matches subscription - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - ${subscription}= evaluate json.loads('''${body}''') json - Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} - -Check Postcondition Performance Subscription Is Set - Log Check Postcondition subscription exist - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - -Send Post Request for Duplicated Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check Postcondition Subscription Resource Returned in Location Header Is Available - Log Going to check postcondition - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${response['headers']['Location']} - Integer response status 200 - Log Received a 200 OK as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} application/json - ${result}= Output response body - Validate Json PmSubscription.schema.json ${result} - Log Validated PmSubscription schema - -Send Put Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt deleted file mode 100644 index 49e695b6e..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${callbackUri} http://172.22.1.7:9091/nfvmanopm/subscriptions -${filter_ok} callbackUri=${callbackUri} -${filter_ko} erroneousFilter=erroneous -${total_polling_time} 2 min -${polling_interval} 10 sec -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json deleted file mode 100644 index 3ca4fc25a..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json +++ /dev/null @@ -1,6 +0,0 @@ -{{ - "callbackUri": "{callback_uri}{callback_endpoint}", - "filter": {{ - "notificationTypes": ["ThresholdCrossedNotification"] - }} -}} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json deleted file mode 100644 index 848628dcc..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json deleted file mode 100644 index 50d8ef1dd..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ -"type": "array", - "items": { - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } -} \ No newline at end of file diff --git a/indexes/sol_009_index.csv b/indexes/sol_009_index.csv index 14ea0c1c0..56a70747a 100644 --- a/indexes/sol_009_index.csv +++ b/indexes/sol_009_index.csv @@ -20,8 +20,8 @@ 8.3.2.3,Individual Report Endpoint, IndividualReport.robot 8.3.2.4,Thresholds Endpoint, Thresholds.robot 8.3.2.5,Individual Threshold Endpoint, IndividualThreshold.robot -8.3.2.6,Subscriptions Endpoint, Subscriptions.robot -8.3.2.7,Individual Subscription Endpoint, IndividualSubscription.robot +8.3.2.6,Void,Void +8.3.2.7,Void,Void 8.3.2.8,Notifications,Notifications.robot 8.3.2.9,API Version Endpoint, ApiVersion.robot 8.3.2.10,Notification Endpoint, NotificationEndpoint.robot -- GitLab From 7e945f91ff4b0a1290c6652704962b57c3e70af2 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 17:18:26 +0500 Subject: [PATCH 016/211] implement error 422 scenario in thresholds resource in PM API --- .../NFVMANOPMKeywords.robot | 87 +++++++++++++ .../Thresholds.robot | 120 +++--------------- 2 files changed, 103 insertions(+), 104 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 850c5fdbd..0a895a038 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -4,6 +4,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt +Resource environment/thresholds.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -309,3 +310,89 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job Log Going to validate Pm Job info retrieved Should Be Equal ${response['body']['id']} ${pmJobId} Log Pm Job identifier as expected + +GET all Performance Thresholds + Log Trying to get all thresholds present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with invalid attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with invalid filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold with unreachable notification endpoint + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Check GET response from Unreachable Notification Endpoint + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all Performance Thresholds + Log DELETE THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Threshold Exists + Log Checking that Threshold exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Threshold + +Check HTTP Response Body Thresholds match the requested attribute-based filter + Log Checking that attribute-based filter is matched + #todo diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 5a82e678f..8a23c8963 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -1,16 +1,12 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false Resource environment/thresholds.txt -Library OperatingSystem +Resource NFVMANOPMKeywords.robot *** Test Cases *** -Create new Performance Threshold +POST Create new Performance Threshold [Documentation] Test ID: 8.3.2.4.1 - ... Test title: Create new Performance Threshold + ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -125,100 +121,16 @@ DELETE Performance Thresholds - Method not implemented Send DELETE Request for all Performance Thresholds Check HTTP Response Status Code Is 405 -*** Keywords *** -GET all Performance Thresholds - Log Trying to get all thresholds present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with invalid attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with invalid filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request Create new Performance Threshold - Log Creating a new THreshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all Performance Thresholds - Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition Threshold Exists - Log Checking that Threshold exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Threshold - -Check HTTP Response Body Thresholds match the requested attribute-based filter - Log Checking that attribute-based filter is matched - #todo - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file +POST Create new Performance Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.4.10 + ... Test title: POST Create new Performance Threshold - Unprocessable Entity + ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. + ... Test objective: The objective is to test that a new NFV-MANO performance threshold is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request Create new Performance Threshold with unreachable notification endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails -- GitLab From f721f5cdf693f0db24c952ea246cefe139190d29 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 18:11:38 +0500 Subject: [PATCH 017/211] add PATCH method to individual threshod in PM API --- .../IndividualThreshold.robot | 131 +++++------------- .../NFVMANOPMKeywords.robot | 103 +++++++++++++- .../jsons/ThresholdModification.json | 3 + 3 files changed, 137 insertions(+), 100 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot index d6314cebc..458db665f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Resource environment/individualThresholds.txt +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Threshold - Method not implemented @@ -57,17 +52,18 @@ PUT Individual Threshold - Method not implemented Send Put request for individual Performance Threshold Check HTTP Response Status Code Is 405 -PATCH Individual Threshold - Method not implemented +PATCH Individual Threshold [Documentation] Test ID: 8.3.2.5.5 - ... Test title: PATCH Individual Threshold - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance threshold - ... Pre-conditions: none + ... Test title: PATCH Individual Threshold + ... Test objective: The objective is to test that PATCH method modify an existing NFV_MANO performance threshold. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Threshold resource is modified. Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ThresholdModifications DELETE Individual Threshold [Documentation] Test ID: 8.3.2.5.6 @@ -94,91 +90,28 @@ DELETE Individual Threshold with invalid resource identifier Send Delete request for individual Performance Threshold with invalid resource identifier Check HTTP Response Status Code Is 404 -*** Keywords *** -GET Individual Performance Threshold - Log Trying to get a Threhsold present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -GET individual Performance Threshold with invalid resource identifier - Log Trying to get a Threhsold with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold - Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold with invalid resource identifier - Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Post request for individual Performance Threshold - Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Put request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Patch request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Check Postcondition Performance Threshold is Deleted - Log Check Postcondition Threshold is deleted - GET individual Performance Threshold - Check HTTP Response Status Code Is 404 - -Check HTTP Response Body Threshold Identifier matches the requested Threshold - Log Trying to check response ID - Should Be Equal ${response['body']['id']} ${thresholdId} - Log Pm Job identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated +PATCH Individual Threshold - Precondition failed + [Documentation] Test ID: 8.3.2.5.8 + ... Test title: PATCH Individual Threshold - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO threshold where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK +PATCH Individual Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.5.9 + ... Test title: PATCH Individual Threshold - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual threshold resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 0a895a038..5f892cee6 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -5,6 +5,7 @@ Resource environment/variables.txt Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt +Resource environment/individualThresholds.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -282,7 +283,7 @@ Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set Headers {"If-Match": "${invalid_etag}"} + Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json @@ -396,3 +397,103 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched #todo + +GET Individual Performance Threshold + Log Trying to get a Threhsold present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET individual Performance Threshold with invalid resource identifier + Log Trying to get a Threhsold with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold + Log Trying to delete a Threhsold in the NFV-MANO + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold with invalid resource identifier + Log Trying to delete a Threhsold in the NFV-MANO with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Performance Threshold + Log Trying to create new threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold - Etag mismatch + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"If-Match": "${invalid_etag}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold with unprocessable entity + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Performance Threshold is Deleted + Log Check Postcondition Threshold is deleted + GET individual Performance Threshold + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Threshold Identifier matches the requested Threshold + Log Trying to check response ID + Should Be Equal ${response['body']['id']} ${thresholdId} + Log Pm Job identifier as expected diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json new file mode 100644 index 000000000..49d7da216 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json @@ -0,0 +1,3 @@ +{ + "callbackUri":"{callbackUri}" +} \ No newline at end of file -- GitLab From e5492487bc88d31c711a57fa88c06e3578449f2e Mon Sep 17 00:00:00 2001 From: muhammadh Date: Thu, 14 Oct 2021 18:22:11 +0500 Subject: [PATCH 018/211] Add New API VNFLCM Coordination --- SOL002/VNFIndicator-API/Subscriptions.robot | 3 +- .../VNFLCMCoordination-API/ApiVersion.robot | 132 ++++++++ .../CancelCoordinationActionTask.robot | 85 +++++ .../Coordinations.robot | 127 ++++++++ .../IndividualCoordinationAction.robot | 84 +++++ SOL002/VNFLCMCoordination-API/README.md | 12 + .../VNFLCMCoordinationKeywords.robot | 300 ++++++++++++++++++ .../environment/variables.txt | 30 ++ .../jsons/LcmCoordRequest.json | 10 + .../schemas/ApiVersionInformation.schema.json | 39 +++ .../schemas/LcmCoord.schema.json | 148 +++++++++ .../schemas/LcmCoords.schema.json | 152 +++++++++ .../schemas/ProblemDetails.schema.Json | 34 ++ indexes/sol_002_index.csv | 7 +- 14 files changed, 1161 insertions(+), 2 deletions(-) create mode 100644 SOL002/VNFLCMCoordination-API/ApiVersion.robot create mode 100644 SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot create mode 100644 SOL002/VNFLCMCoordination-API/Coordinations.robot create mode 100644 SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot create mode 100644 SOL002/VNFLCMCoordination-API/README.md create mode 100644 SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot create mode 100644 SOL002/VNFLCMCoordination-API/environment/variables.txt create mode 100644 SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index ba59c8166..287ed0922 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -181,7 +181,8 @@ Create new VNF indicator Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - *** Keywords *** +*** Keywords *** + Get VNF Indicators Subscriptions Log Trying to get the list of subscriptions Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL002/VNFLCMCoordination-API/ApiVersion.robot b/SOL002/VNFLCMCoordination-API/ApiVersion.robot new file mode 100644 index 000000000..b1b0cad8c --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/ApiVersion.robot @@ -0,0 +1,132 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.6.1.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.6.1.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot new file mode 100644 index 000000000..1ab88fbde --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -0,0 +1,85 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** + +POST Cancellation of an Ongoing Individual Coordination Action + [Documentation] Test ID: 6.3.6.4.1 + ... Test title: POST Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action has accepted for processing. + ... pre-condition: The status of the related LCM operation occurance is "PROCESSING" + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When there is an Ongoing individual LCM operation coordination action. + ... Post-Condition: none + POST Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 202 + Check HTTP Response Body Should be Empty + +POST Cancellation of an Ongoing Individual Coordination Action - Conflict + [Documentation] Test ID: 6.3.6.4.2 + ... Test title: POST Cancellation of an Ongoing Individual Coordination Action - Conflict + ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action is not successfull due to a conflict with the state of the "Individual coordination action" resource. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: Processing of Individual Coordination Action has 'Finished'. + ... Post-Condition: none + POST Cancellation of an Ongoing Individual Coordination Action not Applicable + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.3 + ... Test title: GET Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that GET method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: ongoing individual coordination + ... Post-Condition: none + GET Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +PUT Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.4 + ... Test title: PUT Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that PUT method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.5 + ... Test title: PATCH Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that PATCH method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +DELETE Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.6 + ... Test title: DELETE Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that DELETE method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot new file mode 100644 index 000000000..fea972ffe --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -0,0 +1,127 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** + +POST Coordination of LCM Operation Occurance and API Producer has Chosen the Synchronous Mode + [Documentation] Test ID: 6.3.6.2.1 + ... Test title: Post Coordination of an LCM operation occurrence + ... Test Objective: The objective is to test the creation of new Individual Coordination Action, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the synchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Check HTTP Response Status Code Is 201 + Check HTTP Location Header Contains URI of Created Resource + Check HTTP Response Body Json Schema Is LcmCoords + +POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asynchronous Mode + [Documentation] Test ID: 6.3.6.2.2 + ... Test title: Post Coordination of an LCM operation occurrence + ... Test Objective: The objective is to test that the coordination of a LCM operation occurance request has been accepted for processing, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the asynchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode + Check HTTP Response Status Code Is 202 + Check HTTP Location Header Contains URI of Resource That Will be Created + Check HTTP Response Body Should be Empty + +POST Coordination of a LCM Operation Occurance Forbidden + [Documentation] Test ID: 6.3.6.2.3 + ... Test title: Post Coordination of an LCM operation occurrence Forbidden + ... Test Objective: The objective is to verify that the coordination of LCM operation occurance has been rejected. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + Post coordination of LCM operation Occurance is Forbidden + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Coordination of LCM Operation Occurance Conflict + [Documentation] Test ID: 6.3.6.2.4 + ... Test title: Post Coordination of an LCM operation occurrence Conflict + ... Test Objective: The objective is to verify that no coordination actions can be executed currently, due to a conflict with the state of the "Coordinations" resource. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. + ... Post-Condition: none + Post coordination of LCM operation Occurance + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Coordination of LCM Operation Occurance Service Unavailable + [Documentation] Test ID: 6.3.6.2.5 + ... Test title: Post Coordination of an LCM operation occurrence Service Unavailable + ... Test Objective: The objective is to verify that requested coordination operation cannot be executed currently. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the synchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Check HTTP Response Status Code Is 503 + Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.6 + ... Test title: GET Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that GET method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + GET coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +PUT Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.7 + ... Test title: PUT Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that PUT method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +PACTH Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.8 + ... Test title: PATCH Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that PATCH method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +DELETE Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.9 + ... Test title: DELETE Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that DELETE method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot new file mode 100644 index 000000000..dca7fa494 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot @@ -0,0 +1,84 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** +POST Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.1 + ... Test title: POST Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that POST method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + POST Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +GET Individual LCM Operation Coordination Results - Coordination is Finished + [Documentation] Test ID: 6.3.6.3.2 + ... Test title: GET Individual LCM Operation Coordination Results + ... Test Objective: The objective is to test that coordination is finished and GET method reads individual LCM operation coordination results successfully, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When the Individual LCM Operation Coordination is finished + ... Post-Condition: none + GET Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + +GET Individual LCM Operation Coordination Results - Coordination is Not Finished Yet + [Documentation] Test ID: 6.3.6.3.3 + ... Test title: GET Individual LCM Operation Coordination Results + ... Test Objective: The objective is to test that GET method checks that whether Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When the Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. + ... Post-Condition: none + GET Individual LCM Operation Coordination Results of Ongoing Coordination Action + Check HTTP Response Status Code Is 202 + Check HTTP Response Body Should be Empty + +PUT Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.4 + ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that PUT method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +PATCH Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.5 + ... Test title: PATCH Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that PATCH method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +DELETE Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.6 + ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that DELETE method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md new file mode 100644 index 000000000..cad5572c4 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -0,0 +1,12 @@ +# NFV API Tests + +This is a development folder for ETSI TTFT015. +It includes the NFV API conformance test descriptions. + +## License + +Any software in this repository is released under the ETSI Software License. +Licensing information is available in the attached LICENSE file. + + +Copyright (c) ETSI 2021 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot new file mode 100644 index 000000000..e79fb0209 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -0,0 +1,300 @@ +*** Settings *** +Resource environment/variables.txt +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Keywords *** + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema}= Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Check HTTP Response Body Should be Empty + Should Be Empty ${response['body']} + +POST Individual LCM Operation Coordination Results + Log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results of Ongoing Coordination Action + Log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${ongoing_coordination_action_id} + ${outputResponse}= Output response${ongoing_coordination_action_id} + Set Global Variable ${response} ${outputResponse} + +PUT Individual LCM Operation Coordination Results + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Individual LCM Operation Coordination Results + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE Individual LCM Operation Coordination Results + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + + +POST Cancellation of an Ongoing Individual Coordination Action + Log Trying to initiates the cancellation of an ongoing coordination action. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST Cancellation of an Ongoing Individual Coordination Action not Applicable + Log Trying to initiates the cancellation of an ongoing coordination action. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Location Header Contains URI of Created Resource + ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${indiviCoordActionId} + +Check HTTP Location Header Contains URI of Resource That Will be Created + ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${indiviCoordActionId} + +Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + ${delayTime}= Get Value From Json ${response['headers']} $..Retry-After + Should Not Be Empty ${delayTime} + +Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode + Pass Execution If ${synchronous_mode} == 1 The API producer is in Synchronous Mode. Skipping the test. + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance is Forbidden + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Log The coordination action request should be rejected + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET coordination of LCM operation Occurance + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT coordination of LCM operation Occurance + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH coordination of LCM operation Occurance + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE coordination of LCM operation Occurance + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt new file mode 100644 index 000000000..cd36ffa9e --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -0,0 +1,30 @@ +*** Variables *** + +${synchronous_mode} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. + +${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. +${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. + +${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions + +${AUTH_USAGE} 1 +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 + +${apiRoot} / +${apiName} lcmcoord +${apiMajorVersion} v1 +${response}= httpresponse + +${EM-VNF_HOST} localhost # Hostname of the NFVO +${EM-VNF_PORT} 8081 # Listening port of the NFVO +${EM-VNF_SCHEMA} https + +${CONTENT_TYPE} application/json +${ACCEPT} application/json \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json new file mode 100644 index 000000000..74f17f714 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json @@ -0,0 +1,10 @@ +{{ + "vnfInstanceId":"{vnfInstanceId}", + "vnfLcmOpOccId":"{vnfLcmOpOccId}", + "lcmOperationType": "{lcmOperationType}", + "coordinationActionName": "{coordinationActionName}", + "_links": {{ + "vnfLcmOpOcc":"", + "vnfInstance":"" + }} +}} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 000000000..a79641197 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "description": "This type represents API version information.\n", + "type": "object", + "required": [ + "uriPrefix", + "apiVersions" + ], + "properties": { + "uriPrefix": { + "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", + "type": "string" + }, + "apiVersions": { + "description": "Version(s) supported for the API signaled by the uriPrefix attribute.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 9.1 (SOL013).\n", + "type": "string" + }, + "isDeprecated": { + "description": "If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false).\nA deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body.\n", + "type": "boolean" + }, + "retirementDate": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json new file mode 100644 index 000000000..fdadd65b7 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json @@ -0,0 +1,148 @@ +{ + "description": "This type represents an LCM coordination result.\n", + "type": "object", + "required": [ + "id", + "coordinationResult", + "vnfInstanceId", + "vnfLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO", + "CREATE_SNAPSHOT", + "REVERT_TO_SNAPSHOT", + "CHANGE_VNFPKG" + ] + }, + "coordinationActionName": { + "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", + "type": "string" + }, + "outputParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "vnfLcmOpOcc", + "vnfInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json new file mode 100644 index 000000000..8434d8d67 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json @@ -0,0 +1,152 @@ +{ + "type": "array", + "items": + { + "description": "This type represents an LCM coordination result.\n", + "type": "object", + "required": [ + "id", + "coordinationResult", + "vnfInstanceId", + "vnfLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO", + "CREATE_SNAPSHOT", + "REVERT_TO_SNAPSHOT", + "CHANGE_VNFPKG" + ] + }, + "coordinationActionName": { + "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", + "type": "string" + }, + "outputParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "vnfLcmOpOcc", + "vnfInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json b/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json new file mode 100644 index 000000000..2cc052847 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json @@ -0,0 +1,34 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "properties": { + "type": { + "type": "string", + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "format": "URI" + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n" + }, + "status": { + "type": "integer", + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n" + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem.\n" + }, + "instance": { + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "format": "URI" + } + }, + "required": [ + "status", + "detail" + ] + } \ No newline at end of file diff --git a/indexes/sol_002_index.csv b/indexes/sol_002_index.csv index 90992d5b2..38a1633a0 100644 --- a/indexes/sol_002_index.csv +++ b/indexes/sol_002_index.csv @@ -10,7 +10,7 @@ 6.3.2.5,Individual Subscription Resource Endpoint,IndividualSubscription.robot 6.3.2.6,Notifications,../VNFIndicatorNotification-API/Notifications.robot 6.3.2.7,API Version Resource Endpoint,ApiVersion.robot -6.3.3.8, Notification Endpoint,NotificationEndpoint.robot +6.3.2.8, Notification Endpoint,NotificationEndpoint.robot 6.3.3,VNF Performance Management Interface,VNFPerformanceManagement-API 6.3.3.1,PM Jobs Resource Endpoint,PMJobs.robot 6.3.3.2,Individual PM Job Resource Endpoint,IndividualPmJob.robot @@ -51,3 +51,8 @@ 6.3.5.19,Notifications,Notifications.robot 6.3.5.20,API Version Resource Endpoint,ApiVersion.robot 6.3.5.21,Notification Endpoint,NotificationEndpoint.robot +6.3.6,VNF LCM Coordination Interface,VNFLCMCoordination-API +6.3.6.1,API Version Resource Endpoint,ApiVersion.robot +6.3.6.2,Coordinations,Coordinations.robot +6.3.6.3,Individual Coordination Action,IndividualCoordinationAction.robot +6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot -- GitLab From 5151cbe1165264edc6b93cd17125a4d5430ff997 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Fri, 15 Oct 2021 10:16:36 +0500 Subject: [PATCH 019/211] Minor fix in Index and Readme files --- SOL002/VNFLCMCoordination-API/README.md | 2 +- indexes/sol_002_index.csv | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md index cad5572c4..d35b2a100 100644 --- a/SOL002/VNFLCMCoordination-API/README.md +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTFT015. +This is a development folder for ETSI TTF T015. It includes the NFV API conformance test descriptions. ## License diff --git a/indexes/sol_002_index.csv b/indexes/sol_002_index.csv index 38a1633a0..e4673a0c1 100644 --- a/indexes/sol_002_index.csv +++ b/indexes/sol_002_index.csv @@ -2,7 +2,7 @@ 6.3.1,VNF Configuration Interface,VNFConfiguration-API 6.3.1.1,Configuration Resource Endpoint,Configuration.robot 6.3.1.2,API Version Resource Endpoint,ApiVersion.robot -6.3.2, VNF Indicator Interface,VNFIndicator-API +6.3.2,VNF Indicator Interface,VNFIndicator-API 6.3.2.1,VNF Indicators Resource Endpoint,VNFIndicators.robot 6.3.2.2,VNF Indicators related to a VNF Instance Resource Endpoint,VnfIndicatorsInVnfInstanceId.robot 6.3.2.3,Individual VNF Indicator Resource Endpoit,IndividualVNFindicator.robot @@ -10,7 +10,7 @@ 6.3.2.5,Individual Subscription Resource Endpoint,IndividualSubscription.robot 6.3.2.6,Notifications,../VNFIndicatorNotification-API/Notifications.robot 6.3.2.7,API Version Resource Endpoint,ApiVersion.robot -6.3.2.8, Notification Endpoint,NotificationEndpoint.robot +6.3.2.8,Notification Endpoint,NotificationEndpoint.robot 6.3.3,VNF Performance Management Interface,VNFPerformanceManagement-API 6.3.3.1,PM Jobs Resource Endpoint,PMJobs.robot 6.3.3.2,Individual PM Job Resource Endpoint,IndividualPmJob.robot @@ -19,7 +19,7 @@ 6.3.3.5,Individual Threshold Resource Endpoint,IndividualThreshold.robot 6.3.3.8,Notification,../VNFPerformanceManagementNotification-API/Notifications.robot 6.3.3.9,API Version Resource Endpoint,ApiVersion.robot -6.3.3.10, Notification Endpoint,NotificationEndpoint.robot +6.3.3.10,Notification Endpoint,NotificationEndpoint.robot 6.3.4,VNF Fault Management interface,VNFFaultManagement-API 6.3.4.1,Alarms,Alarms.robot 6.3.4.2,Individual Alarm,IndividualAlarm.robot @@ -55,4 +55,4 @@ 6.3.6.1,API Version Resource Endpoint,ApiVersion.robot 6.3.6.2,Coordinations,Coordinations.robot 6.3.6.3,Individual Coordination Action,IndividualCoordinationAction.robot -6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot +6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot \ No newline at end of file -- GitLab From 32075c06a738428f7e1c767328d20efbeb0d6190 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 10:48:01 +0500 Subject: [PATCH 020/211] add ThresholdModifications schema file for PM API --- .../ThresholdModifications.schema.json | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json new file mode 100644 index 000000000..163efd310 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a threshold. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "authentication": { + "type": "object", + "required": ["authType"], + "properties": { + "authType": { + "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] + } + }, + "paramsBasic": { + "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "userName": { + "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + } + } + }, + "paramsOauth2ClientCredentials": { + "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "clientId": { + "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "clientPassword": { + "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} -- GitLab From 44a102e3328c8375574b8325065ee644b5a8f7e0 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:06:20 +0500 Subject: [PATCH 021/211] modify notifications endpoint for PM API --- .../ApiVersion.robot | 20 +++---- .../NFVMANOPMKeywords.robot | 43 ++++++++++++++- .../NotificationEndpoint.robot | 55 +------------------ .../environment/individualSubscription.txt | 5 -- .../environment/variables.txt | 5 +- ...ceInformationAvailabilityNotification.json | 3 +- .../jsons/ThresholdCrossedNotification.json | 2 - 7 files changed, 58 insertions(+), 75 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index 7027ed256..29d433ed5 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -131,70 +131,70 @@ DELETE API Version with apiMajorVerion - Method not implemented *** Keywords *** POST API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 5f892cee6..4a18b5099 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -6,6 +6,7 @@ Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt Resource environment/individualThresholds.txt +Resource environment/notifications.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -112,7 +113,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector Log Query VNF The GET method queries information about multiple VNF instances. Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -497,3 +498,43 @@ Check HTTP Response Body Threshold Identifier matches the requested Threshold Log Trying to check response ID Should Be Equal ${response['body']['id']} ${thresholdId} Log Pm Job identifier as expected + +Check PM Job resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + Integer response status 200 + Validate Json response body PmJob.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Performance Information Available Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json + ${body}= Format String ${template} pmJobId=${pmJobId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check Threshold resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + Integer response status 200 + Validate Json response body Threshold.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Threshold Crossed Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/ThresholdCrossedNotification.json + ${body}= Format String ${template} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot index 888fb32c7..af5d92c6e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot @@ -1,12 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/individualThresholds.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String -Suite Setup Check resource existence and get CallbackUri +Resource NFVMANOPMKeywords.robot *** Test Cases *** @@ -19,6 +12,7 @@ Performance Information Available Notification ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check PM Job resource existence and get CallbackUri POST Performance Information Available Notification Check HTTP Response Status Code Is 204 @@ -31,49 +25,6 @@ Threshold Crossed Notification ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check Threshold resource existence and get CallbackUri POST Threshold Crossed Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body PmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -POST Performance Information Available Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST Threshold Crossed Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/ThresholdCrossedNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - - - - - - - diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt deleted file mode 100644 index 945e4c67f..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${erroneousSubscriptionId} erroneousSubscriptionId -${newSubscriptionId} newSubsciptionId -${response} httpresponse -${origResponse} httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index d9b2c9a50..fe96b3c2a 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -4,7 +4,8 @@ ${NFVMANO_PORT} 8080 # Listening port of the VNFM ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION} Bearer negativetoken ${BAD_AUTHORIZATION} Bear sometoken @@ -32,8 +33,6 @@ ${polling_interval} 10 sec ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa - ${response} ${objectInstanceIds} daca910b0-00d4f1a2b675d-604257e42 diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json index 5be4a1a38..c997ed2c7 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json @@ -1,12 +1,11 @@ {{ "id": "", "notificationType": "PerformanceInformationAvailableNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", + "pmJobId": "{pmJobId}", "objectType": "", "objectInstanceId": "{objectInstanceId}", "_links": {{ - "subscription": "" "objectInstance": "", "pmJob": "", "performanceReport": "" diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json index 8984e0f66..390215f3e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json @@ -1,7 +1,6 @@ {{ "id": "", "notificationType": "ThresholdCrossedNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", "thresholdId": "{thresholdId}", "crossingDirection": "UP", @@ -10,7 +9,6 @@ "performanceMetric": "", "performanceValue": "", "_links": {{ - "subscription": "" "objectInstance": "", "threshold": "" }} -- GitLab From c858f32671b60f5d4fce0ff09c36357b727d4e63 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:13:04 +0500 Subject: [PATCH 022/211] refactor apiVersion and reports resources keywords for PM API --- .../ApiVersion.robot | 88 +--------- .../IndividualReport.robot | 76 +-------- .../NFVMANOPMKeywords.robot | 156 ++++++++++++++++-- 3 files changed, 141 insertions(+), 179 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index 29d433ed5..dbbbc836c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot index 8eac0c695..64d574fbf 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot @@ -1,9 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Resource environment/reports.txt -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Performance Report - Method not implemented @@ -79,73 +75,3 @@ DELETE Individual Performance Report - Method not implemented Send Delete request for Individual Performance Report Check HTTP Response Status Code Is 405 -*** Keywords *** -Get Individual Performance Report - Log Trying to get a performance report present in the NFV-MANOM - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Individual Performance Report with invalid resource endpoint - Log Trying to get a performance report with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for Individual Performance Report - Log Trying to create new performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for Individual Performance Report - Log Trying to delete performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 4a18b5099..7f42ebd8b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -7,6 +7,8 @@ Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt Resource environment/individualThresholds.txt Resource environment/notifications.txt +Resource environment/reports.txt +Library DependencyLibrary Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -316,7 +318,7 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job GET all Performance Thresholds Log Trying to get all thresholds present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -324,7 +326,7 @@ GET all Performance Thresholds GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFV-MANO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} ${output}= Output response Set Suite Variable ${response} ${output} @@ -332,14 +334,14 @@ GET Performance Thresholds with attribute-based filter GET Performance Thresholds with invalid attribute-based filter Log Trying to get thresholds present in the NFV-MANO with invalid filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json @@ -350,7 +352,7 @@ Send Post Request Create new Performance Threshold Send Post Request Create new Performance Threshold with unreachable notification endpoint Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Check GET response from Unreachable Notification Endpoint @@ -362,7 +364,7 @@ Send Post Request Create new Performance Threshold with unreachable notification Send PUT Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -371,7 +373,7 @@ Send PUT Request for all Performance Thresholds Send PATCH Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -380,7 +382,7 @@ Send PATCH Request for all Performance Thresholds Send DELETE Request for all Performance Thresholds Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -402,7 +404,7 @@ Check HTTP Response Body Thresholds match the requested attribute-based filter GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -410,28 +412,28 @@ GET Individual Performance Threshold GET individual Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Performance Threshold Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -439,7 +441,7 @@ Send Post request for individual Performance Threshold Send Put request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -450,7 +452,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -465,7 +467,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -479,7 +481,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -538,3 +540,123 @@ POST Threshold Crossed Notification Post ${callbackResp} ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Get Individual Performance Report + Log Trying to get a performance report present in the NFV-MANOM + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Performance Report with invalid resource endpoint + Log Trying to get a performance report with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Individual Performance Report + Log Trying to create new performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Individual Performance Report + Log Trying to delete performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} -- GitLab From 797dc9c51613539f53ddd5f80b9733b4b3b2a198 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:44:23 +0500 Subject: [PATCH 023/211] update json data models --- .../NFVMANOPMKeywords.robot | 100 +++++++++--------- .../Notifications.robot | 2 +- .../jsons/CreatePmJobRequest.json | 4 +- .../jsons/CreateThresholdRequest.json | 7 +- .../jsons/PmJobModifications.json | 3 +- .../jsons/ThresholdModification.json | 3 - .../jsons/ThresholdModifications.json | 4 + .../schemas/PmJobModifications.schema.json | 56 ++++++++++ 8 files changed, 120 insertions(+), 59 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json create mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 7f42ebd8b..19c6b5f89 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -18,7 +18,7 @@ Library MockServerLibrary GET all NFV-MANO Performance Monitoring Jobs Log Trying to get all PM Jobs present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -55,7 +55,7 @@ GET Performance Monitoring Jobs with expired or revoked authorization token GET NFV-MANO Performance Monitoring Jobs with attribute-based filter Log Trying to get all PM Jobs present in the NFV-MANO, using filter params Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} ${output}= Output response Set Suite Variable ${response} ${output} @@ -63,7 +63,7 @@ GET NFV-MANO Performance Monitoring Jobs with attribute-based filter GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields ${output}= Output response Set Suite Variable ${response} ${output} @@ -71,7 +71,7 @@ GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -80,7 +80,7 @@ GET NFV-MANO Performance Monitoring Jobs with fields attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -89,7 +89,7 @@ GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribu Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -98,7 +98,7 @@ GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -106,7 +106,7 @@ GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} ${output}= Output response Set Suite Variable ${response} ${output} @@ -124,9 +124,9 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} Check GET response from Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response @@ -136,9 +136,9 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} Check GET response from Unreachable Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response @@ -147,7 +147,7 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable Send PUT Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -155,7 +155,7 @@ Send PUT Request for all NFV-MANO Performance Monitoring Jobs Send PATCH Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -163,7 +163,7 @@ Send PATCH Request for all NFV-MANO Performance Monitoring Jobs Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -171,7 +171,7 @@ Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Check Postcondition PmJob Exists Log Checking that Pm Job exists Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} ${output}= Output response Set Suite Variable ${response} ${output} @@ -222,7 +222,7 @@ Check HTTP Response Header Contains Link GET individual NFV-MANO Performance Job Log Trying to get a Pm Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -230,7 +230,7 @@ GET individual NFV-MANO Performance Job GET individual NFV-MANO Performance Job with invalid resource identifier Log Trying to perform a negative get, using erroneous PM Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -238,7 +238,7 @@ GET individual NFV-MANO Performance Job with invalid resource identifier Send Delete request for individual NFV-MANO Performance Job Log Trying to delete an existing PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -246,7 +246,7 @@ Send Delete request for individual NFV-MANO Performance Job Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Log Trying to perform a negative delete, using erroneous PM Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -254,7 +254,7 @@ Send Delete request for individual NFV-MANO Performance Job with invalid resourc Send Post request for individual NFV-MANO Performance Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -262,7 +262,7 @@ Send Post request for individual NFV-MANO Performance Job Send Put request for individual NFV-MANO Performance Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -274,7 +274,7 @@ Send Patch request for individual NFV-MANO Performance Job Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} @@ -287,7 +287,7 @@ Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} @@ -318,7 +318,7 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job GET all Performance Thresholds Log Trying to get all thresholds present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -326,7 +326,7 @@ GET all Performance Thresholds GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFV-MANO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} ${output}= Output response Set Suite Variable ${response} ${output} @@ -334,37 +334,37 @@ GET Performance Thresholds with attribute-based filter GET Performance Thresholds with invalid attribute-based filter Log Trying to get thresholds present in the NFV-MANO with invalid filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold with unreachable notification endpoint Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Check GET response from Unreachable Notification Endpoint ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response Set Suite Variable ${response} ${output} Send PUT Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -373,7 +373,7 @@ Send PUT Request for all Performance Thresholds Send PATCH Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -382,7 +382,7 @@ Send PATCH Request for all Performance Thresholds Send DELETE Request for all Performance Thresholds Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -390,7 +390,7 @@ Send DELETE Request for all Performance Thresholds Check Postcondition Threshold Exists Log Checking that Threshold exists Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} ${output}= Output response Set Suite Variable ${response} ${output} @@ -404,7 +404,7 @@ Check HTTP Response Body Thresholds match the requested attribute-based filter GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -412,28 +412,28 @@ GET Individual Performance Threshold GET individual Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Performance Threshold Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -441,7 +441,7 @@ Send Post request for individual Performance Threshold Send Put request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -452,7 +452,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -467,7 +467,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -481,7 +481,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -544,7 +544,7 @@ POST Threshold Crossed Notification Get Individual Performance Report Log Trying to get a performance report present in the NFV-MANOM Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -552,21 +552,21 @@ Get Individual Performance Report Get Individual Performance Report with invalid resource endpoint Log Trying to get a performance report with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Post request for Individual Performance Report Log Trying to create new performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Put request for Individual Performance Report Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -576,7 +576,7 @@ Send Put request for Individual Performance Report Send Patch request for Individual Performance Report Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -586,7 +586,7 @@ Send Patch request for Individual Performance Report Send Delete request for Individual Performance Report Log Trying to delete performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index 0be775d25..0271ff95b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -112,4 +112,4 @@ Configure Notification Forward Create Sessions Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file + Create Mock Session ${callback_uri} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json index b69b9f03f..632a66f0f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -8,5 +8,7 @@ "performanceMetricGroup": [], "collectionPeriod": 10, "reportingPeriod": 30 - }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json index 1162190f7..f0b9266c4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -7,7 +7,8 @@ "simpleThresholdDetails": {{ "thresholdValue": 10, "hysteresis": 50 - }} - - }} + }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json index 901b75c2d..c2d9cf867 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json @@ -1,3 +1,4 @@ { - "callbackUri": "{callbackUri}" + "callbackUri": "{callbackUri}", + "authentication": "" } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json deleted file mode 100644 index 49d7da216..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "callbackUri":"{callbackUri}" -} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json new file mode 100644 index 000000000..c2d9cf867 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json @@ -0,0 +1,4 @@ +{ + "callbackUri": "{callbackUri}", + "authentication": "" +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json new file mode 100644 index 000000000..87ec0ab64 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a PM job. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "authentication": { + "type": "object", + "required": ["authType"], + "properties": { + "authType": { + "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] + } + }, + "paramsBasic": { + "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "userName": { + "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + } + } + }, + "paramsOauth2ClientCredentials": { + "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "clientId": { + "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "clientPassword": { + "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} -- GitLab From 54a7c240d81ba88088ebe0fad271522cdc4e21cd Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 13:04:33 +0500 Subject: [PATCH 024/211] update schemas and document version --- .gitignore | 1 + .../NFVMANOFaultManagement-API/Alarms.robot | 34 +- .../IndividualAlarm.robot | 16 +- .../IndividualSubscription.robot | 12 +- .../NotificationEndpoint.robot | 6 +- .../Notifications.robot | 6 +- .../SOL009-NFVMANOFaultManagement-API.json | 8388 ----------- .../SOL009-NFVMANOFaultManagement-API.yaml | 12122 ---------------- .../Subscriptions.robot | 32 +- .../schemas/AlarmModification.schema.json | 24 +- .../schemas/FmSubscription.schema.json | 20 +- .../schemas/FmSubscriptions.schema.json | 168 +- .../alarmClearedNotification.schema.json | 35 +- .../alarmListRebuiltNotification.schema.json | 35 +- .../schemas/alarmNotification.schema.json | 420 +- SOL009/README.md | 2 +- 16 files changed, 363 insertions(+), 20958 deletions(-) delete mode 100644 SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json delete mode 100644 SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml diff --git a/.gitignore b/.gitignore index 1b6e272e0..16bff4da6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +.vscode/ \ No newline at end of file diff --git a/SOL009/NFVMANOFaultManagement-API/Alarms.robot b/SOL009/NFVMANOFaultManagement-API/Alarms.robot index 3e5a4f0b6..70e01f5eb 100644 --- a/SOL009/NFVMANOFaultManagement-API/Alarms.robot +++ b/SOL009/NFVMANOFaultManagement-API/Alarms.robot @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create fault management alarms on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get information about multiple alarms ... Test title: Get information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema of the returned alarms data structure ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get information about multiple alarms with filter ... Test title: Get information about multiple alarms with filter ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get information about multiple alarms with invalid attribute-based filtering par ... Test title: Get information about multiple alarms with invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about the alarm list as a Paged Response. ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about the alarm list because response is too big and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET information about alarms with attribute-based filter "id" ... Test title: GET information about alarms with attribute-based filter "id" ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET information about multiple alarms with attribute-based filter "managedObject ... Test title: GET information about multiple alarms with attribute-based filter "managedObjectId" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "managedObjectId" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ GET information about multiple alarms with attribute-based filter "eventType" ... Test title: GET information about multiple alarms with attribute-based filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET information about multiple alarms with attribute-based filter "probableCause ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ Get information about multiple alarms with malformed authorization token ... Test title: Get information about multiple alarms with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when using malformed authorization token ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -171,7 +171,7 @@ Get information about multiple alarms without authorization token ... Test title: Get information about multiple alarms without authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when omitting the authorization token ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ GET information about multiple alarms with expired or revoked authorization toke ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify fault management alarms on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify fault management alarms on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ DELETE Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for fault management alarms on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot index e3ffa895a..f9fcd703c 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot @@ -13,7 +13,7 @@ POST Individual Alarm - Method not implemented ... Test title: POST Individual Alarm - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create fault management individual alarm on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get information about an fault management individual alarm ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get information about an fault management individual alarm - Not Found ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to test the retrieval of information about an individual alarm fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual Alarm - Method not implemented ... Test title: PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for fault management individual alarm on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Fault Management Individual Alarm ... Test title: PATCH Fault Management Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource, and perform a JSON schema validation of the returned alarm data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is modified. @@ -76,7 +76,7 @@ Modify an individual alarm resource - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set, and perform a JSON schema validation of the returned data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is not modified. @@ -90,7 +90,7 @@ Modify an individual alarm resource - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the resource was modified by another entity , and perform a JSON schema validation of the returned data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is not modified. @@ -104,7 +104,7 @@ DELETE Individual Alarm - Method not implemented ... Test title: DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete fault management individual alarm on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot index c0e603a97..bbae7b20e 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title: Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for fault management subscription on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription from NFV-MANO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Get Information about an individual subscription - Not Found ... Test title: Get Information about an individual subscription - Not Found ... Test objective: The objective is to test the retrieval of individual subscription from NFV-MANO alarms fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to test that DELETE method removes individual subscription on VNF ... Pre-conditions: The Subsbcription already exists - ... Reference: clause 7.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: subscription is deleted diff --git a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot index e6b9f8829..bb386db9a 100644 --- a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Alarm Notification ... Test title: Alarm Notification ... Test objective: The objective is to test that Alarm Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Alarm Cleared Notification ... Test title: Alarm Cleared Notification ... Test objective: The objective is to test that Alarm Cleared Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm cleared notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Alarm List Rebuilt Notification ... Test title: Alarm List Rebuilt Notification ... Test objective: The objective is to test that Alarm List Rebuilt Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm list rebuilt notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/Notifications.robot b/SOL009/NFVMANOFaultManagement-API/Notifications.robot index b931d33f2..16f21d195 100644 --- a/SOL009/NFVMANOFaultManagement-API/Notifications.robot +++ b/SOL009/NFVMANOFaultManagement-API/Notifications.robot @@ -14,7 +14,7 @@ NFV-MANO Fault Alarm Notification ... Test title: NFV-MANO Fault Alarm Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm Notification when a resource within an NFV-MANO instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, and a subscription for fault alarm notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ NFV-MANO Fault Alarm Cleared Notification ... Test title: NFV-MANO Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm Cleared Notification when a faulty resource within an NFV-MANO instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ NFV-MANO Fault Alarm List Rebuilt Notification ... Test title: NFV-MANO Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm List Rebuilt Notification when the NFV-MANO decides to rebuild the list of its NFV-MANO alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json b/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json deleted file mode 100644 index cc8839c02..000000000 --- a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json +++ /dev/null @@ -1,8388 +0,0 @@ -{ - "openapi": "3.0.2", - "info": { - "version": "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1", - "title": "SOL009 - NFV-MANO Fault Management interface", - "description": "SOL009 - NFV-MANO Fault Management interface\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 009 V3.3.1", - "url": "https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf" - }, - "servers": [ - { - "url": "http://127.0.0.1/nfvmanofm/v1" - }, - { - "url": "https://127.0.0.1/nfvmanofm/v1" - } - ], - "paths": { - "/api_versions": { - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "get": { - "summary": "Retrieve API version information", - "description": "The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported.\n", - "responses": { - "200": { - "description": "200 OK\nAPI version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents API version information.\n", - "type": "object", - "required": [ - "uriPrefix", - "apiVersions" - ], - "properties": { - "uriPrefix": { - "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", - "type": "string" - }, - "apiVersions": { - "description": "Version(s) supported for the API signaled by the uriPrefix attribute.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 9.1 (SOL013).\n", - "type": "string" - }, - "isDeprecated": { - "description": "If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false).\nA deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body.\n", - "type": "boolean" - }, - "retirementDate": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "The used API version.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "413": { - "description": "413 PAYLOAD TOO LARGE\nIf the payload body of a request is larger than the amount of data the API producer is willing or able to process, it shall respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for closing the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "414": { - "description": "414 URI TOO LONG\nIf the request URI of a request is longer than the API producer is willing or able to process, it shall respond with this response code. This condition can e.g. be caused by passing long queries in the request URI of a GET request. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "416": { - "description": "416 Range Not Satisfiable\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "429": { - "description": "429 TOO MANY REQUESTS\nIf the API consumer has sent too many requests in a defined period of time and the API producer is able to detect that condition (\"rate limiting\"), the API producer shall respond with this response code, following the provisions in IETF RFC 6585 [17] for the use of the \"Retry-After\" HTTP header. The \"ProblemDetails\" structure shall be provided and shall include in the \"detail\" attribute more information about the source of the problem.\nThe period of time and allowed number of requests are configured within the API producer by means outside the scope of the present document.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/alarms": { - "get": { - "description": "Get Alarm List. The client can use this method to retrieve information about the alarm list. This method shall follow the provisions specified in the tables 7.5.3.3.2-1 and 7.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "description": "Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "nextpage_opaque_marker", - "description": "Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when information about zero or more alarms has been queried successfully. The response body shall contain in an array the representations of zero or more alarms as defined in clause 7.6.2.4. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/alarms/{alarmId}": { - "parameters": [ - { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "get": { - "description": "The client can use this method to read an individual alarm. This method shall follow the provisions specified in the tables 7.5.4.3.2-1 and 7.5.4.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when information about an individual alarm has been read successfully. The response body shall contain a representation of the individual alarm\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "patch": { - "description": "This method modifies an \"Individual alarm\" resource. This method shall follow the provisions specified in the tables 7.5.4.3.4-1 and 7.5.4.3.4-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The parameter for the alarm modification, as defined in clause 7.6.2.8. The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "200 OK\nShall be returned when the request has been accepted and completed. ì The response body shall contain attribute modifications for an \"Individual alarm\" resource (see clause 7.6.2.4).\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "409": { - "description": "409 CONFLICT\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "412": { - "description": "412 PRECONDITION FAILED\nError: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 7.5.5.3.1-1 and 7.5.5.3.1-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new \"Individual subscription\" resource as defined in clause 7.5.6 shall have been created. This method shall not trigger any notification. Creation of two \"Individual subscription\" resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the API consumer, and might make sense only in very rare use cases. Consequently, the NFV-MANO functional entity may either allow creating a new \"Individual subscription\" resource if another \"Individual subscription\" resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate \"Individual subscription\" resource (in which case it shall return a \"303 See Other\" response code referencing the existing \"Individual subscription\" resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Details of the subscription to be created, as defined in clause 7.6.2.2.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "201 CREATED\nShall be returned when the subscription has been created successfully. The response body shall contain a representation of the created \"Individual subscription\" resource. The HTTP response shall include a \"Location:\"\" HTTP header that points to the created \"Individual subscription\" resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "schema": { - "type": "string", - "format": "url", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "303": { - "description": "303 See Other\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\nThe client can use this method to retrieve the list of active subscriptions for NFV-MANO functional entity alarms subscribed by the client. It can be used e.g. for resynchronization after error situations. This method shall follow the provisions specified in the tables 7.5.5.3.2-1 and 7.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "description": "Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "nextpage_opaque_marker", - "description": "Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new \"Individual subscription\" resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "get": { - "description": "Query Subscription Information. The client can use this method for reading an individual subscription for NFV-MANO functional entity alarms subscribed by the client. This method shall follow the provisions specified in the tables 7.5.6.3.2-1 and 7.5.6.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "delete": { - "description": "Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.5.6.3.5-1 and 7.5.6.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "204 NO CONTENT\nShall be returned when the \"Individual subscription\" resource has been deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - } - }, - "components": { - "parameters": { - "alarmId": { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "subscriptionId": { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new \"Individual subscription\" resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - }, - "schemas": { - "FmSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "AlarmModifications": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - }, - "FmNotificationsFilter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "requestBodies": { - "AlarmModifications": { - "description": "The parameter for the alarm modification, as defined in clause 7.6.2.8. The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - }, - "required": true - }, - "FmSubscriptionRequest": { - "description": "Details of the subscription to be created, as defined in clause 7.6.2.2.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "required": true - } - }, - "responses": { - "Alarms.Get": { - "description": "200 OK\nShall be returned when information about zero or more alarms has been queried successfully. The response body shall contain in an array the representations of zero or more alarms as defined in clause 7.6.2.4. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "Alarm.Get": { - "description": "200 OK\nShall be returned when information about an individual alarm has been read successfully. The response body shall contain a representation of the individual alarm\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "Alarm.Patch": { - "description": "200 OK\nShall be returned when the request has been accepted and completed. ì The response body shall contain attribute modifications for an \"Individual alarm\" resource (see clause 7.6.2.4).\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - } - }, - "subscriptions.post.201": { - "description": "201 CREATED\nShall be returned when the subscription has been created successfully. The response body shall contain a representation of the created \"Individual subscription\" resource. The HTTP response shall include a \"Location:\"\" HTTP header that points to the created \"Individual subscription\" resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "schema": { - "type": "string", - "format": "url", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "subscriptions.get.200": { - "description": "200 OK\nShall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "subscription.get.200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "subscription.delete.204": { - "description": "204 NO CONTENT\nShall be returned when the \"Individual subscription\" resource has been deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml b/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml deleted file mode 100644 index 5f0cf5240..000000000 --- a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml +++ /dev/null @@ -1,12122 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Fault Management interface - description: > - SOL009 - NFV-MANO Fault Management interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://127.0.0.1/nfvmanofm/v1' - - url: 'https://127.0.0.1/nfvmanofm/v1' -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /alarms: - get: - description: > - Get Alarm List. The client can use this method to retrieve information - about the alarm list. This method shall follow the provisions specified - in the tables 7.5.3.3.2-1 and 7.5.3.3.2-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more alarms has - been queried successfully. The response body shall contain in an - array the representations of zero or more alarms as defined in - clause 7.6.2.4. If the "filter" URI parameter was supplied in the - request, the data in the response body shall have been transformed - according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL - 013. If the NFV-MANO functional entity supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - managedObjectId: - description: > - An identifier with the intention of being globally - unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in - the attribute CorrelatedAlarmId are caused by this - fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/alarms/{alarmId}': - parameters: - - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the - "id" attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - required: true - schema: - type: string - get: - description: > - The client can use this method to read an individual alarm. This method - shall follow the provisions specified in the tables 7.5.4.3.2-1 and - 7.5.4.3.2-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual alarm has - been read successfully. The response body shall contain a - representation of the individual alarm - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence - of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - This method modifies an "Individual alarm" resource. This method shall - follow the provisions specified in the tables 7.5.4.3.4-1 and - 7.5.4.3.4-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - requestBody: - description: > - The parameter for the alarm modification, as defined in clause - 7.6.2.8. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that - can be modified are included in the "AlarmModifications" data - type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - ì The response body shall contain attribute modifications for an - "Individual alarm" resource (see clause 7.6.2.4). - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents attribute modifications for an - "Individual alarm" resource, i.e. modifications to a resource - representation based on the "Alarm" data type. The attributes - of "Alarm" that can be modified are included in the - "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". - Permitted values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: | - 409 CONFLICT - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not - fulfilled. Typically, this is due to an ETag mismatch, indicating - that the resource was modified by another entity. The response body - should contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe. The POST method creates a new subscription. This method shall - follow the provisions specified in the tables 7.5.5.3.1-1 and - 7.5.5.3.1-2 for URI query parameters, request and response data - structures, and response codes. As the result of successfully executing - this method, a new "Individual subscription" resource as defined in - clause 7.5.6 shall have been created. This method shall not trigger any - notification. Creation of two "Individual subscription" resources with - the same callbackURI and the same filter can result in performance - degradation and will provide duplicates of notifications to the API - consumer, and might make sense only in very rare use cases. - Consequently, the NFV-MANO functional entity may either allow creating a - new "Individual subscription" resource if another "Individual - subscription" resource with the same filter and callbackUri already - exists (in which case it shall return the "201 Created" response code), - or may decide to not create a duplicate "Individual subscription" - resource (in which case it shall return a "303 See Other" response code - referencing the existing "Individual subscription" resource with the - same filter and callbackUri). - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - requestBody: - description: > - Details of the subscription to be created, as defined in clause - 7.6.2.2. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: - An alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. The response body shall contain a representation of - the created "Individual subscription" resource. The HTTP response - shall include a "Location:"" HTTP header that points to the created - "Individual subscription" resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Location: - description: | - The resource URI of the created subscription resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - * AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled exactly - as the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '303': - description: | - 303 See Other - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - The client can use this method to retrieve the list of active - subscriptions for NFV-MANO functional entity alarms subscribed by the - client. It can be used e.g. for resynchronization after error - situations. This method shall follow the provisions specified in the - tables 7.5.5.3.2-1 and 7.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block - that invokes the method, i.e. zero or more representations of FM - subscriptions as defined in clause 7.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in - clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional - entity supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP - header in this response shall follow the provisions in clause - 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document, see clause 4.7.2.1. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. - It shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted - values: * AlarmNotification * - AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled - exactly as the names of the notification types to - facilitate automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for - operator attention. * CRITICAL: The Critical - severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates - the detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates - the clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types - of events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in - this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new "Individual subscription" resource. - It can also be retrieved from the "id" attribute in the payload body - of that response. - in: path - required: true - schema: - type: string - get: - description: > - Query Subscription Information. The client can use this method for - reading an individual subscription for NFV-MANO functional entity alarms - subscribed by the client. This method shall follow the provisions - specified in the tables 7.5.6.3.2-1 and 7.5.6.3.2-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - * AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled exactly - as the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: "Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.5.6.3.5-1 and 7.5.6.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion.\n" - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - parameters: - alarmId: - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the "id" - attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - required: true - schema: - type: string - subscriptionId: - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response to - a POST request creating a new "Individual subscription" resource. It can - also be retrieved from the "id" attribute in the payload body of that - response. - in: path - required: true - schema: - type: string - schemas: - FmSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level - in the filter structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names - of the notification types to facilitate automated code - generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - FmSubscription: - description: > - This type represents a subscription related to notifications about VNF - faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level - in the filter structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names - of the notification types to facilitate automated code - generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - AlarmModifications: - description: > - This type represents attribute modifications for an "Individual alarm" - resource, i.e. modifications to a resource representation based on the - "Alarm" data type. The attributes of "Alarm" that can be modified are - included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted values: - * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - FmNotificationsFilter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level in - the filter structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names of - the notification types to facilitate automated code generation - systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: | - Match VNF alarms with a perceived severity listed in this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator attention. * - CRITICAL: The Critical severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates that - the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing of - one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events that - trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated with - a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with degradation - in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - requestBodies: - AlarmModifications: - description: > - The parameter for the alarm modification, as defined in clause 7.6.2.8. - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - required: true - FmSubscriptionRequest: - description: | - Details of the subscription to be created, as defined in clause 7.6.2.2. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: true - responses: - Alarms.Get: - description: > - 200 OK - - Shall be returned when information about zero or more alarms has been - queried successfully. The response body shall contain in an array the - representations of zero or more alarms as defined in clause 7.6.2.4. If - the "filter" URI parameter was supplied in the request, the data in the - response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO - functional entity supports alternative 2 (paging) according to clause - 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link - HTTP header in this response shall follow the provisions in clause - 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of - a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with - an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - Alarm.Get: - description: > - 200 OK - - Shall be returned when information about an individual alarm has been - read successfully. The response body shall contain a representation of - the individual alarm - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: | - List of identifiers of other alarms correlated to this fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - Alarm.Patch: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. ì - The response body shall contain attribute modifications for an - "Individual alarm" resource (see clause 7.6.2.4). - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created - "Individual subscription" resource. The HTTP response shall include a - "Location:"" HTTP header that points to the created "Individual - subscription" resource. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Location: - description: | - The resource URI of the created subscription resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.get.200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block that - invokes the method, i.e. zero or more representations of FM - subscriptions as defined in clause 7.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause - 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL - 013 for this resource, inclusion of the Link HTTP header in this - response shall follow the provisions in clause 5.4.2.3 of ETSI GS - NFV-SOL 013. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document, see clause 4.7.2.1. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: - An alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscription.get.200: - description: > - 200 OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 \ No newline at end of file diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index b95d85947..ee81e065c 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -13,7 +13,7 @@ Create a new Fault Management alarm subscription ... Test title: Create a new fault management alarm subscription ... Test objective: The objective is to create a new fault management alarm subscription and perform a JSON schema validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: subscription is created @@ -28,7 +28,7 @@ Create a new alarm subscription - DUPLICATION ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: the NFV-MANO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -43,7 +43,7 @@ Create a new alarm subscription - NO DUPLICATION ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO not allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: the NFV-MANO does not allow to create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -58,7 +58,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: noe @@ -71,7 +71,7 @@ Retrieve a list of alarm subscriptions with filter ... Test title: Retrieve a list of alarm subscriptions with filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about active list subscriptions as a Paged Response ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about active list subscription to check that response is too big and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -137,7 +137,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -179,7 +179,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... RReference: clause 7.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... RReference: clause 7.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -205,7 +205,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -217,7 +217,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json index 8075efd71..bf71b534e 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json @@ -1,16 +1,12 @@ { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } + "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", + "type": "object", + "required": ["ackState"], + "properties": { + "ackState": { + "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", + "type": "string", + "enum": ["ACKNOWLEDGED"] } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json index f0d8052b1..ded3361e2 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json @@ -1,22 +1,18 @@ { "description": "This type represents a subscription related to notifications about VNF faults.\n", "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], + "required": ["id", "callbackUri", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", + "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", "type": "object", "properties": { "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n", "type": "array", "items": { "type": "string", @@ -74,16 +70,12 @@ "_links": { "description": "Links for this resource.\n", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -94,4 +86,4 @@ } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json index 56a8441cc..acf3ab550 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json @@ -1,95 +1,88 @@ { "type": "array", "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" + "description": "This type represents a subscription related to notifications about VNF faults.\n", + "type": "object", + "required": ["id", "callbackUri", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "notificationTypes": { + "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } } } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } @@ -97,4 +90,3 @@ } } } -} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json index 08131723d..f3cbf4fa2 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json @@ -18,16 +18,14 @@ "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n", "type": "string", - "enum": [ - "AlarmClearedNotification" - ] + "enum": ["AlarmClearedNotification"] }, "subscriptionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" }, @@ -41,40 +39,31 @@ "_links": { "description": "Links to resources related to this notification.\n", "type": "object", - "required": [ - "subscription", - "alarm" - ], + "required": ["subscription", "alarm"], "properties": { "subscription": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, "alarm": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json index bfe018df8..e0197151a 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json @@ -16,56 +16,45 @@ "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmListRebuiltNotification\" for this notification type.\n", "type": "string", - "enum": [ - "AlarmListRebuiltNotification" - ] + "enum": ["AlarmListRebuiltNotification"] }, "subscriptionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" }, "_links": { "description": "Links to resources related to this notification.\n", "type": "object", - "required": [ - "subscription", - "alarms" - ], + "required": ["subscription", "alarms"], "properties": { "subscription": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, "alarms": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json index 1d31e7e34..d4b7b0108 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json @@ -1,250 +1,206 @@ { - "name": "AlarmNotification", - "description": "Information of a VNF alarm.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents an alarm notification about VNF faults. This notification shall be triggered by the VNFM when: * An alarm has been created. * An alarm has been updated, e.g. if the severity of the alarm has changed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarm", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarm": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { + "description": "This type represents an alarm notification about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.2.5-1. This notification shall be triggered by the NFV-MANO functional entity when: -\tAn alarm has been created. -\tAn alarm has been updated, e.g. if the severity of the alarm has changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "alarm", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", + "type": "string", + "enum": ["AlarmNotification"] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarm": { + "description": "The alarm data type encapsulates information about an alarm.\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "associatedFaultyInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" } }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "required": ["type", "objectId"] + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", + "type": "string", + "enum": ["UNACKNOWLEDGED", "ACKNOWLEDGED"] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "required": ["subscription"], + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} diff --git a/SOL009/README.md b/SOL009/README.md index bb1592d77..68272f4f0 100644 --- a/SOL009/README.md +++ b/SOL009/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL009 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_nfv-sol009v030501p.pdf -- GitLab From 04d7a858841ae3c15cb14b0a6655f2aa7888de20 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:09:02 +0500 Subject: [PATCH 025/211] add error 422 test case in FM API --- .../FaultManagement-APIKeyword.robot | 125 ++++++++++-------- .../Subscriptions.robot | 27 +++- .../environment/variables.txt | 10 +- 3 files changed, 94 insertions(+), 68 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index 66a272224..d8596ba5b 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -17,7 +17,7 @@ ${original_etag} 1234 Send POST request for fault management Alarms log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -31,7 +31,7 @@ Check HTTP Response Status Code Is GET Fault Management Alarms Log Query NFV-MANO The GET method queries information about multiple alarms. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response @@ -48,7 +48,7 @@ Check HTTP Response Body Json Schema Is GET Fault Management Alarms With Filters Log Query NFV-MANO The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${alarm_filter}=${managedObjectId} ${outputResponse}= Output response @@ -57,7 +57,7 @@ GET Fault Management Alarms With Filters GET Fault Management Alarms With Invalid Filters Log Query NFV-MANO The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${invalid_alarm_filter}=${managedObjectId} ${outputResponse}= Output response @@ -70,7 +70,7 @@ Check HTTP Response Header Contains Link PATCH Fault management Alarms log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse} = Output response Set Global Variable @{response} ${outputResponse} @@ -78,7 +78,7 @@ PATCH Fault management Alarms PUT Fault management Alarms log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -86,7 +86,7 @@ PUT Fault management Alarms DELETE Fault management Alarms log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -100,7 +100,7 @@ Check Postcondition NFV-MANO fault management alarms Exists Send POST request for fault management Individual Alarm log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -109,7 +109,7 @@ GET Fault Management Individual Alarm Log Query NFV-MANO The GET method queries information about an alarm. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${etag} Output response headers ETag @@ -120,7 +120,7 @@ GET Fault Management Individual Alarm PUT Fault Management Individual Alarm log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -135,7 +135,7 @@ PATCH Fault Management Individual Alarm log Trying to perform a PATCH. This method modifies an individual alarm resource Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -146,7 +146,7 @@ PATCH Fault Management Individual Alarm - precondition failed Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${original_etag[0]}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -157,7 +157,7 @@ PATCH Fault Management Individual Alarm Conflict Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${Etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -166,7 +166,7 @@ PATCH Fault Management Individual Alarm Conflict DELETE Fault Management Individual Alarm log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -175,13 +175,24 @@ POST Subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} +POST Subscription with unreachable callbackUri + Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} + ${template}= Get File jsons/fmSubscriptionRequest.json + ${body}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + Check HTTP Response Header Contains Location ${opOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${opOccId} @@ -189,7 +200,7 @@ Check HTTP Response Header Contains Location Check PostCondition Subscription is created log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -199,7 +210,7 @@ POST Subscription Duplication permitted Pass Execution If ${NFVMANO_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} @@ -219,7 +230,7 @@ POST Subscription Duplication not permitted Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false @@ -228,7 +239,7 @@ POST Subscription Duplication not permitted Check Postcondition Subscription Resource Returned in Location Header Is Available Log Going to check postcondition - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${response['headers']['Location']} Integer response status 200 Log Received a 200 OK as expected @@ -241,7 +252,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab GET Subscriptions Log Get the list of active subscriptions Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -249,7 +260,7 @@ GET Subscriptions GET Subscriptions with filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -257,7 +268,7 @@ GET Subscriptions with filter GET Subscriptions with Invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -265,7 +276,7 @@ GET Subscriptions with Invalid filter PUT Subscriptions log Trying to perform a PUT Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -273,7 +284,7 @@ PUT Subscriptions PATCH Subscriptions log Trying to perform a PATCH Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -281,7 +292,7 @@ PATCH Subscriptions DELETE Subscriptions log Trying to perform a DELETE Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -289,7 +300,7 @@ DELETE Subscriptions POST Individual Subscription log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -297,7 +308,7 @@ POST Individual Subscription GET Individual Subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -305,7 +316,7 @@ GET Individual Subscription PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -313,7 +324,7 @@ PUT Individual Subscription PATCH Individual Subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -321,21 +332,21 @@ PATCH Individual Subscription DELETE Individual Subscription log Trying to perform a DELETE. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} Check Individual Subscription deleted Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} Integer response status 404 GET Fault Management Alarms with filter "id" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "id". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?id=${alarmId} ${outputResponse}= Output response @@ -347,7 +358,7 @@ Check PostCondition HTTP Response Body alarms Matches the requested attribute-ba GET Fault Management Alarms with filter "managedObjectId" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "NFV-MANOcInstanceIds". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?NFV-MANOcInstanceIds=${managedObjectId} ${outputResponse}= Output response @@ -359,49 +370,49 @@ Check PostCondition HTTP Response Body alarms Matches the requested attribute-ba GET Fault Management Alarms with filter "eventType" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "eventType". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?eventType=${eventType} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['eventType']} ${eventType} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['eventType']} ${eventType} END GET Fault Management Alarms with filter "perceivedSeverity" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "perceivedSeverity". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?perceivedSeverity=${perceivedSeverity} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} END GET Fault Management Alarms with filter "probableCause" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "probableCause". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?probableCause=${probableCause} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['probableCause']} ${probableCause} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['probableCause']} ${probableCause} END Get subscriptions with filter "id" Log Get the list of active subscriptions using a filter "id" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?id=${subscription_id} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -412,60 +423,60 @@ Check PostCondition HTTP Response Body Subscription Matches the requested attrib Get subscriptions with filter "filter_notificationTypes" Log Get the list of active subscriptions using a filter "filter.notificationTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.notificationTypes=${notification_type} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} END Get subscriptions with filter "filter_perceivedSeverities" Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} END Get subscriptions with filter "filter_eventTypes" Log Get the list of active subscriptions using a filter "filter.eventTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.eventTypes=${eventType} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} END Get subscriptions with filter "filter_probableCauses" Log Get the list of active subscriptions using a filter "filter.probableCauses" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.probableCauses=${probableCause} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} END GET Fault Management Alarms with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response @@ -484,7 +495,7 @@ GET Fault Management Alarms with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index ee81e065c..fb9e7b27b 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -8,9 +8,9 @@ Library JSONLibrary Library JSONSchemaLibrary schemas/ *** Test Cases *** -Create a new Fault Management alarm subscription +POST Create a new Fault Management alarm subscription [Documentation] Test ID:8.3.3.3.1 - ... Test title: Create a new fault management alarm subscription + ... Test title: POST Create a new fault management alarm subscription ... Test objective: The objective is to create a new fault management alarm subscription and perform a JSON schema validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -23,9 +23,9 @@ Create a new Fault Management alarm subscription Check HTTP Response Header Contains Location Check PostCondition Subscription is created -Create a new alarm subscription - DUPLICATION +POST Create a new alarm subscription - DUPLICATION [Documentation] Test ID: 8.3.3.3.2 - ... Test title: Create a new alarm subscription - DUPLICATION + ... Test title: POST Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -38,9 +38,9 @@ Create a new alarm subscription - DUPLICATION Check HTTP Response Header Contains Location Check Postcondition FaultManagement Subscription Is Set -Create a new alarm subscription - NO DUPLICATION +POST Create a new alarm subscription - NO DUPLICATION [Documentation] Test ID: 8.3.3.3.3 - ... Test title: Create a new alarm subscription - NO DUPLICATION + ... Test title: POST Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO not allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -222,4 +222,17 @@ DELETE subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: none DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +POST Create a new Fault Management alarm subscription - Unprocessable entity + [Documentation] Test ID:8.3.3.3.17 + ... Test title: POST Create a new fault management alarm subscription - Unprocessable entity + ... Test objective: The objective is to test that a new fault management alarm subscription is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: No subscription with the same filter and callbackUri exists. + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + POST Subscription with Unreachable callbackUri + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index e230f9438..eb348e14c 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -2,13 +2,14 @@ ${NFVMANO_HOST} localhost # Hostname of the NFV-MANO ${NFVMANO_PORT} 8080 # Listening port of the NFV-MANO ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ== +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ== ${CONTENT_TYPE} application/json ${ACCEPT} application/json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${apiRoot} / ${apiName} nfvmanofm ${apiMajorVersion} v1 @@ -36,8 +37,9 @@ ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${faultyResourceType} ${notification_type} AlarmNotification -${callback_uri} http://localhost ${callback_port} 9091 +${callback_uri} http://localhost:${callback_port} +${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -- GitLab From f8b6b13eef2683ef7f4d1632f83b7646e03f808c Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:29:43 +0500 Subject: [PATCH 026/211] update schemas and document version --- .gitignore | 1 + .../CompileLogTask.robot | 16 +- .../IndividualLoggingJob.robot | 14 +- .../IndividualReport.robot | 14 +- .../IndividualSubscription.robot | 14 +- .../LoggingJobs.robot | 36 +- .../NotificationEndpoint.robot | 2 +- .../Notifications.robot | 2 +- .../SOL009-NFVMANOLogManagement-API.yaml | 25442 ---------------- .../Subscriptions.robot | 28 +- .../schemas/LogReport.schema.json | 298 +- ...LogReportAvailableNotification.schema.json | 202 +- .../schemas/LoggingJob.schema.json | 546 +- .../schemas/LoggingJobs.schema.json | 114 +- .../schemas/LogmSubscription.schema.json | 280 +- .../schemas/LogmSubscriptions.schema.json | 49 +- SOL009/README.md | 2 +- 17 files changed, 729 insertions(+), 26331 deletions(-) delete mode 100644 SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml diff --git a/.gitignore b/.gitignore index 1b6e272e0..16bff4da6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +.vscode/ \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot index 696be0399..7fba31e08 100644 --- a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot +++ b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot @@ -13,7 +13,7 @@ Request to compile the logged data into a file - Synchronous mode ... Test title: Request to compile the logged data into a file - Synchronous mode ... Test objective: The objective is to request to compile the logged data into a file in synchronous mode and perform a JSON schema validation on the returned log report data structure ... Pre-conditions: logging job is available - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO can decide immediately what to respond to a compile request ... Post-Conditions: none @@ -27,7 +27,7 @@ Request to compile the logged data into a file - Asynchronous mode ... Test title: Request to compile the logged data into a file - Asynchronous mode ... Test objective: The objective is to request to compile the logged data into a file in asynchronous mode ... Pre-conditions: logging job is available - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO can not decide immediately what to respond to a compile request ... Post-Conditions: log report is available to the API consumer @@ -41,7 +41,7 @@ Request to compile the logged data into a file - Already Processing ... Test title: Request to compile the logged data into a file - Already Processing ... Test objective: The objective is to request to compile the logged data into a file when a log data compilation and report creation is already ongoing, or a log report has just been created, for the specified logging job at the time of processing the request ... Pre-conditions: none - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ Request to compile the logged data into a file with unprocessable entity ... Test title: Request to compile the logged data into a file with unprocessable entity ... Test objective: The objective is to test that the rrequest to compile the logged data into a file fails when error in request body. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Compiled Log Data - Method not implemented ... Test title: GET Compiled Log Data - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PUT Compiled Log Data - Method not implemented ... Test title: PUT Compiled Log Data - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Compiled Log Data - Method not implemented ... Test title: PATCH Compiled Log Data - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ DELETE Compiled Log Data - Method not implemented ... Test title: DELETE Compiled Log Data - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot index a6bc0ecff..130d0c2ad 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot @@ -12,7 +12,7 @@ POST Individual Logging Job - Method not implemented ... Test title: POST Individual Logging Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an Indiviual Logging ... Pre-conditions: none - ... Reference: clause 8.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET individual Logging Job ... Test title: Get individual Logging Job ... Test objective: The objective is to test the retrieval of an individual logging job and perform a JSON schema validation of the collected job data structure ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET individual Logging Job with invalid resource identifier ... Test title: Get individual Logging Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual logging job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual Logging Job - Method not implemented ... Test title: PUT Individual Logging Job - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Logging Job ... Pre-conditions: none - ... Reference: clause 8.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Individual Logging Job - Method not implemented ... Test title: PATCH Individual Logging Job - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new Logging Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Individual Logging Job ... Test title: DELETE Individual Logging Job ... Test objective: The objective is to test the deletion of an individual logging job ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Logging Job is no more available. @@ -88,7 +88,7 @@ DELETE Individual Logging Job with invalid resource identifier ... Test title: DELETE Individual Logging Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual logging job fails when using an invalid resource identifier ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot index e6893d687..a261e591b 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot @@ -12,7 +12,7 @@ POST Individual Log Report - Method not implemented ... Test title: POST Individual Log Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Log Report ... Test title: Get Individual Log Report ... Test objective: The objective is to test the retrieval of an individual log report and perform a JSON schema validation of the collected report data structure ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get Individual Log Report (asynchronous) ... Test title: Get Individual Log Report (asynchronous) ... Test objective: The objective is to test the retrieval of an individual log report is ongoing and no log report is available yet. ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ Get Individual Log Report with invalid resource endpoint ... Test title: Get Individual Log Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual log report fails when using an invalid resource endpoint. ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual Log Report - Method not implemented ... Test title: PUT Individual Log Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ PATCH Individual Log Report - Method not implemented ... Test title: PATCH Individual Log Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existinglog report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ DELETE Individual Log Report - Method not implemented ... Test title: DELETE Individual Log Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot index d89a0bdc3..edd620e45 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Subscription - invalid resource identifier ... Test title: GET Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual Subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test the deletion of an individual subscription ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The is not available anymore in the NFV-MANO @@ -52,7 +52,7 @@ DELETE Individual Subscription - invalid resource identifier ... Test title: DELETE Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PUT Individual Subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ PATCH Individual Subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot index 5b2599a5f..62fc7b88f 100644 --- a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot +++ b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot @@ -12,7 +12,7 @@ POST Create a new logging job ... Test title: POST Create a new logging job ... Test objective: The objective is to create a new logging job, and perform the JSON schema validation of the operation HTTP response. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: logging job created @@ -27,7 +27,7 @@ GET information about logging jobs ... Test title: GET information logging jobs ... Test objective: The objective is to retrieve information about logging jobs, and perform the JSON schema validation of the operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Logging jobs - invalid attribute-based filter ... Test title: GET Logging jobs - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Logging jobs - invalid attribute selector ... Test title: GET Logging jobs - invalid attribute selector ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ GET Logging jobs - Bad Request Response too Big ... Test title: GET Logging jobs - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Logging job fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ GET information about logging jobs with attribute-based filter ... Test title: GET information about logging jobs with attribute-based filter ... Test objective: The objective is to retrieve information about the logging jobs with attribute filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ GET information about logging jobs with "all_fields" attribute selector ... Test title: GET information about logging jobs with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about logging jobs with "all_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET information about Logging Jobs with "exclude_default" attribute selector ... Test title: GET information about Logging Jobs with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about logging jobs with "exclude_default" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ GET information about Logging Jobs with "fields" attribute selector ... Test title: GET information about Logging Jobs with fields attribute selector ... Test objective: The objective is to retrieve information about Logging Jobs with fields attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ GET information about Logging Jobs with "exclude_fields" attribute selector ... Test title: GET information about Logging Jobs with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the Logging Jobs with "exclude_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -144,7 +144,7 @@ GET information about Logging Jobs with "fields" and "exclude_default" attribute ... Test title: GET information about Logging Jobs with fields and exclude_default attribute selector ... Test objective: The objective is to retrieve information about Logging Jobs with fields and exclude_default attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ GET information about Logging Jobs with Paged Response ... Test title: GET information about Logging Jobs with Paged Response ... Test objective: The objective is to query information about Logging Jobs to get Paged Response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -170,7 +170,7 @@ GET information about Logging Jobs with malformed authorization token ... Test title: GET information about Logging Jobs with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using malformed authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -182,7 +182,7 @@ GET information about Logging Jobs without authorization token ... Test title: GET information about Logging Jobs without authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when omitting the authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -194,7 +194,7 @@ GET information about Logging Jobs with expired or revoked authorization token ... Test title: GET information about Logging Jobs with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using expired or revoked authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -206,7 +206,7 @@ PUT Logging Jobs - Method not implemented ... Test title: PUT Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -218,7 +218,7 @@ PATCH Logging Jobs - Method not implemented ... Test title: PATCH Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -230,7 +230,7 @@ DELETE Logging Jobs - Method not implemented ... Test title: DELETE Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot index 1fd55de42..06d258e56 100644 --- a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Log Report Available Notification ... Test title: Log Report Available Notification ... Test objective: The objective is to test that Log Report Available Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for log report available notification is available in the NFV-MANO. - ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/Notifications.robot b/SOL009/NFVMANOLogManagement-API/Notifications.robot index 124d7f743..ebba57878 100644 --- a/SOL009/NFVMANOLogManagement-API/Notifications.robot +++ b/SOL009/NFVMANOLogManagement-API/Notifications.robot @@ -16,7 +16,7 @@ Log Report Avaliable Notification ... Test title: Log Report Avaliable Notification ... Test objective: The objective is to test the dispatch of Log Report Avaliable Notification when new log report is available in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: none - ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml b/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml deleted file mode 100644 index 481efd043..000000000 --- a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml +++ /dev/null @@ -1,25442 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Log Management interface - description: > - SOL009 - NFV-MANO Log Management interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification - it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -security: - - OauthSecurity: - - all -servers: - - url: 'http://127.0.0.1/nfvmanologm/v1' - - url: 'https://127.0.0.1/nfvmanologm/v1' -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /log_jobs: - description: >- - This resource represents logging jobs. The API consumer can use this - resource to create and query logging jobs. - post: - description: >- - The POST method creates a logging job. This method shall follow the - provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI - query parameters, request and response data structures, and response - codes. As the result of successfully executing this method, a new - "Individual logging job" resource as defined in clause 9.5.4 shall have - been created. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: >- - This type represents a request to create a logging job. It shall - comply with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute - shall contain the identifier of the instance of the object - to be logged according to their type. If more than one - identifier is provided, values shall all refer to object - instances of the same type, for which the same criteria is - then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - required: true - responses: - '201': - description: >- - The response body contains the Application Context as it was created - by the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: >- - The API consumer can use this method to retrieve information about - logging jobs. This method shall follow the provisions specified in the - tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - in: query - description: >- - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information about zero or more logging jobs - has been queried successfully. - - The response body shall contain in an array the representations of - zero or more logging jobs, as defined in clause 8.6.2.6. - - If the "filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or "exclude_default" - URI parameters was supplied in the request, the data in the response - body shall have been transformed according to the rules specified in - clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain - the identifier of the instance of the object that is - logged according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" - is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging - jobs. It shall comply with the provisions defined in - table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO - service interface messages. - SERVICES: logged - messages about processes pertaining to NFV-MANO - services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the - provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to - match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than - one "matchingPattern" if combinations of - patterns are to be considered to match diverse - sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to - four hexadecimal digits, separated by - colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To - match, the HTTP request method of the - message shall be the same as the value of - this attribute. Valid values are specified - in IETF RFC 7231. The API producer shall - support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request - URI. To match, the request URI shall - include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to - four hexadecimal digits, separated by - colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. - A list of all valid HTTP response codes - and their specification documents can be - obtained from the HTTP status code - registry. In addition, if supported, the - following patterns may be used - (case-insensitive): - "1XX": for matching - any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for - matching any kind of client error - response. - "5XX": for matching any kind - of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. - The header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To - match, the value in the header field - indicated by "headerField" shall be the - same as in this attribute. Shall be - provided if a "headerField" is provided. - The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the - body part of the interface message (e.g., - the body of an HTTP message). If provided, - only messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the - message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining - to NFV-MANO services. It shall comply with the - provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with - the provisions defined in clause 4 of IETF RFC - 8259. In the following example, a list of - key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided - to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to - signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the - severity of the system messages to collect. The - NFV-MANO functional entity shall collect system - log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by - this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging - job. It shall comply with the provisions defined in - table 8.6.3.6-1. NOTE: The present document version does - not specify the support for "log compilation and - reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer - will report to the consumer about the compiled log - data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: - the producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know - about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected - log data. If not present, a default value as - specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" - shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More - than one algorithm can be provided from - higher (lower array index) to lower (higher - array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause - 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid - values are: "encryptFirst", to apply the - order "first encrypt, then sign", and - "signFirst" for the order "first sign, then - encrypt". Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API - producer by other means, or if it has - already been provided in some previous - CreateLoggingJobRequest issued by the same - API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged - object instance information is accessible as a - resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}': - description: >- - This resource represents an individual logging job. The API consumer can - use this resource to delete and read the underlying logging job. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual logging - job. This method shall follow the provisions specified in the tables - 8.5.4.3.2-1 and 8.5.4.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information about an individual logging job - has been read successfully. The response body shall contain a - representation of the "Individual logging job" resource, as defined - in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: >- - This method terminates an individual logging job. This method shall - follow the provisions specified in the tables 8.5.4.3.5-1 and - 8.5.4.3.5-2 for URI query parameters, request and response data - structures, and response codes. As the result of successfully executing - this method, the "Individual logging job" resource shall not exist any - longer - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned when the logging job has been deleted - successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}/log_reports/{logReportId}': - description: "This resource represents an individual log report. The API consumer can use this resource to read information about a log report. The log report provides metadata information about a log and location information of the log file from where it can be obtained. NOTE:\tThe present document does not specify the mechanism how to retrieve the log files." - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - - name: logReportId - in: path - description: Identifier of the report. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual log - report. This method shall follow the provisions specified in the tables - 8.5.5.3.2-1 and 8.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information of an individual log report has - been read successfully. The response body shall contain a - representation of the "Individual log report" resource, as defined - in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '202': - description: >- - Shall be returned if the creation of the log report is ongoing and - no log report is available yet (applicable in asynchronous mode of - the "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}/compile_log': - description: >- - This resource represents the "Compile log" operation. The API consumer can - use this resource to request compiling the logged data, collected via a - logging job, into a file and creating the associated log report. As the - result of successfully processing this request, a new "Individual log - report" resource shall be created. Two modes of operation, synchronous or - asynchronous, can take place depending on whether the NFV-MANO functional - entity can compile the log data and create the log report immediately. In - the synchronous case, which is indicated by responding with "201 Created", - the resource shall be created before the "201 Created" response is - returned. In the asynchronous case, which is indicated by responding with - "202 Accepted", the resource may be created after the response is - returned. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: >- - The POST method requests to compile the logged data into a file and - create an associated log report. This method shall follow the provisions - specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - required: true - responses: - '200': - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The - response body shall contain a representation of the log report - resource, as defined in clause 8.6.2.7. The HTTP response shall - include a "Location" HTTP header that indicate the URI of the - "Individual log report" resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '202': - description: >- - Shall be returned when the request has been accepted for processing, - and it is expected to take some time to compile the log file and - create the associated log report (asynchronous mode). The response - body shall be empty. The HTTP response shall include a "Location" - HTTP header that indicates the URI of the "Individual log report" - resource that will be created once the log file compilation is - completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - schema: - type: string - '303': - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log - report resource just created, or to be created by the ongoing - compilation and report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be - created by the ongoing compilation and report creation - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: >- - The general cause for this error and its handling is specified in - clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence - of the response body. Specifically, in case of this task resource, - the response code 422 shall also be returned if the - "objectInstanceId" value provided in the payload body of the request - does not correspond to an object instance for which log data is - being collected by the logging job represented by this resource. The - response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - description: >- - This resource represents subscriptions. The client can use this resource - to subscribe to notifications related to NFV-MANO performance management - and to query its subscriptions. - post: - description: >- - The POST method creates a new subscription. This method shall follow the - provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI - query - parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 8.5.8 shall have been - created. This method shall not trigger any notification. Creation of two - "Individual subscription" resources with the same callbackURI and the - same filter can result in performance degradation and will provide - duplicates of notifications to the API consumer, and might make sense - only in very rare use cases. Consequently, the NFV-MANO functional - entity may either allow creating a new "Individual subscription" - resource if another "Individual subscription" resource with the same - filter and callbackUri already exists (in which case it shall return the - "201 Created" response code), or may decide to not create a duplicate - "Individual subscription" resource (in which case it shall return a "303 - See Other" response code referencing the existing "Individual - subscription" resource with the same filter and callbackUri). - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Details of the subscription to be created - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system - type: object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '201': - description: >- - Shall be returned when the subscription has been created - successfully. A representation of the created "Individual - subscription" resource shall be returned in the response body, as - defined in clause 8.6.2.3. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the created - "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '303': - description: >- - Shall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of the NFV-MANO - functional entity is to not create redundant subscriptions. The HTTP - response shall include a "Location" HTTP header that contains the - resource URI of the existing "Individual subscription" resource. The - response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log - management event from the API producer to the API consumer. The - API consumer shall have previously created an "Individual - subscription" resource with a matching filter. This method shall - follow the provisions specified in the tables 8.5.9.3.1-1 and - 8.5.9.3.1-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log - report of the NFV-MANO functional entity is available. - It shall comply with the provisions defined in table - 8.6.2.4-1. The notification shall be triggered by the - NFV-MANO functional entity when log information has been - collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable - if attribute "manoEntityComponents" in - "ManoEntity" is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being - globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging - job compilation and the logging information - availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative - URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, - the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. - if the request URI contains incorrect query parameters or - the payload body contains a syntactically incorrect data - structure), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does - not support paging for the affected resource, it shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the - "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of - the error shall be returned in the WWW Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization - of API requests and notifications, as defined in clauses - 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token - that is invalid (e.g. expired or revoked), the API producer - should respond with this response. The details of the error - shall be returned in the WWW-Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided. It should include in the - "detail" attribute information about the source of the - problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation - for the resource addressed by the URI passed in the request - or is not willing to disclose that one exists, it shall - respond with this response code. The "ProblemDetails" - structure may be provided, including in the "detail" - attribute information about the source of the problem, e.g. - a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is - designed to contain child resources, but does not contain - any child resource at the time the request is received. For - a GET request to an existing empty container resource, a - typical response contains a 200 OK response code and a - payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a - particular resource, the API producer shall respond with - this response code. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one - name of a content type that is acceptable to the API - producer, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically - correct data (e.g. well-formed JSON) but the data cannot be - processed (e.g. because it fails validation against a - schema), the API producer shall respond with this response - code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information - about the source of the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload - situation of itself or of a system it relies on, it should - respond with this response code, following the provisions in - IETF RFC 7231 for the use of the "Retry-After" HTTP header - and for the alternative to refuse the connection. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it - should respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified - in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned to indicate that the notification endpoint - has been tested successfully. The response body shall be - empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, - the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. - if the request URI contains incorrect query parameters or - the payload body contains a syntactically incorrect data - structure), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does - not support paging for the affected resource, it shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the - "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of - the error shall be returned in the WWW Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization - of API requests and notifications, as defined in clauses - 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token - that is invalid (e.g. expired or revoked), the API producer - should respond with this response. The details of the error - shall be returned in the WWW-Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided. It should include in the - "detail" attribute information about the source of the - problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation - for the resource addressed by the URI passed in the request - or is not willing to disclose that one exists, it shall - respond with this response code. The "ProblemDetails" - structure may be provided, including in the "detail" - attribute information about the source of the problem, e.g. - a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is - designed to contain child resources, but does not contain - any child resource at the time the request is received. For - a GET request to an existing empty container resource, a - typical response contains a 200 OK response code and a - payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a - particular resource, the API producer shall respond with - this response code. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one - name of a content type that is acceptable to the API - producer, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically - correct data (e.g. well-formed JSON) but the data cannot be - processed (e.g. because it fails validation against a - schema), the API producer shall respond with this response - code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information - about the source of the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload - situation of itself or of a system it relies on, it should - respond with this response code, following the provisions in - IETF RFC 7231 for the use of the "Retry-After" HTTP header - and for the alternative to refuse the connection. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it - should respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The API consumer can use this method to query the list of active - subscriptions to log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.7.3.2-1 and 8.5.7.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block - that invokes the method, i.e. zero or more representations of log - management subscriptions as defined in clause 8.6.2.3. If the - "filter" URI parameter was supplied in the request, the data in the - response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO - functional entity supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion - of the Link HTTP header in this response shall follow the provisions - in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with - the provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical - "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted - values: - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - description: >- - This resource represents an individual subscription for notifications - about log management related events. The API consumer can use this - resource to read and to terminate a subscription to notifications related - o NFV-MANO log management. - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual - subscription about log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when the subscription has been read successfully. - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: "This method terminates an individual subscription. This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion." - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned when the "Individual subscription" resource has - been deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - parameters: - logJobId: - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - logReportId: - name: logReportId - in: path - description: Identifier of the report. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - LogmSubscriptionRequest: - description: Details of the subscription to be created - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - CreateLoggingJobRequest: - description: >- - This type represents a request to create a logging job. It shall comply - with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute shall - contain the identifier of the instance of the object to be - logged according to their type. If more than one identifier is - provided, values shall all refer to object instances of the - same type, for which the same criteria is then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - required: true - CompileLogRequest: - description: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - required: true - LogReportAvailableNotification: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information - has been collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be - set to "LogReportAvailableNotification" for this notification - type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. - Due to the relationship of the logging job compilation and - the logging information availability reporting, more than - one logReport notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - subscription.delete.204: - description: >- - Shall be returned when the "Individual subscription" resource has been - deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - subscription.get.200: - description: >- - Shall be returned when the subscription has been read successfully. The - response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.get.200: - description: >- - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block that - invokes the method, i.e. zero or more representations of log management - subscriptions as defined in clause 8.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause - 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL - 013 for this resource, inclusion of the Link HTTP header in this - response shall follow the provisions in clause 5.4.2.3 of ETSI GS - NFV-SOL 013 . - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.post.201: - description: >- - Shall be returned when the subscription has been created successfully. A - representation of the created "Individual subscription" resource shall - be returned in the response body, as defined in clause 8.6.2.3. The HTTP - response shall include a "Location" HTTP header that contains the - resource URI of the created "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.post.303: - description: >- - Shall be returned when a subscription with the same callbackURI and the - same filter already exists and the policy of the NFV-MANO functional - entity is to not create redundant subscriptions. The HTTP response shall - include a "Location" HTTP header that contains the resource URI of the - existing "Individual subscription" resource. The response body shall be - empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - LogReportCompiled.Post.200: - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The response - body shall contain a representation of the log report resource, as - defined in clause 8.6.2.7. The HTTP response shall include a "Location" - HTTP header that indicate the URI of the "Individual log report" - resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReportCompiled.Post.202: - description: >- - Shall be returned when the request has been accepted for processing, and - it is expected to take some time to compile the log file and create the - associated log report (asynchronous mode). The response body shall be - empty. The HTTP response shall include a "Location" HTTP header that - indicates the URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be created - once the log file compilation is completed. - schema: - type: string - LogReportCompiled.Post.303: - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log report - resource just created, or to be created by the ongoing compilation and - report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be created by - the ongoing compilation and report creation - schema: - type: string - LogReportCompiled.Post.422: - description: >- - The general cause for this error and its handling is specified in clause - 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the - response body. Specifically, in case of this task resource, the response - code 422 shall also be returned if the "objectInstanceId" value provided - in the payload body of the request does not correspond to an object - instance for which log data is being collected by the logging job - represented by this resource. The response body shall contain a - ProblemDetails structure, in which the "detail" attribute should convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - LogReport.Get.200: - description: >- - Shall be returned when information of an individual log report has been - read successfully. The response body shall contain a representation of - the "Individual log report" resource, as defined in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReport.Get.202: - description: >- - Shall be returned if the creation of the log report is ongoing and no - log report is available yet (applicable in asynchronous mode of the - "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LoggingJob.Get: - description: >- - Shall be returned when information about an individual logging job has - been read successfully. The response body shall contain a representation - of the "Individual logging job" resource, as defined in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob.Delete: - description: >- - Shall be returned when the logging job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: Version of the API used in the response. - schema: - type: string - LoggingJob.Post: - description: >- - The response body contains the Application Context as it was created by - the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJobs.Get: - description: >- - Shall be returned when information about zero or more logging jobs has - been queried successfully. - - The response body shall contain in an array the representations of zero - or more logging jobs, as defined in clause 8.6.2.6. - - If the "filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReportAvailableNotification.Post: - description: Shall be returned when the notification has been delivered successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LogReportNotification.Get: - description: >- - Shall be returned to indicate that the notification endpoint has been - tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - schemas: - LogmSubscription: - description: >- - This type represents a subscription. It shall comply with the provisions - defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogmNotificationsFilter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with the - provisions defined in table 8.6.3.7-1. At a particular nesting level in - the filter structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - ManoEntitySubscriptionFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service name - listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - CompileLogRequest: - description: > - This type represents a request to compile the logged data associated to - an object instance. It shall comply with the provisions defined in table - 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - LogReport: - description: > - This type represents a log report, which provides information about a - compiled log and how to obtain it. It shall comply with the provisions - defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit request by - a client. - AUTOMATIC: created according to the logging job - compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer protocol - (SFTP). - SCP: transmission over secure copy protocol (SCP). - - FTPS: transmission over file transfer protocol secure (FTPS), as - specified in IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number (if the - host with the compile log file uses a non-standard port number - as per the supported transmission protocol), a valid file - directory path, and the file name of the compiled log file, or a - valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the log - files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log file. - Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log file. The - hash shall be computed from the encrypted compiled log file, in - case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log file. - Shall be present if the compiled log file is encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall be - present if the compiled log file is encrypted. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the NFV-MANO - functional entity’s private key, which is used to ensure the - authenticity of the compiled log file. The signature shall be - applied according to the "encryptAndSignOrder" of the - "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s public - key used for verifying the log report and compiled log file - signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogmSubscriptionRequest: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - CreateLoggingJobRequest: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - requested to be collected. This attribute shall contain the - identifier of the instance of the object to be logged according to - their type. If more than one identifier is provided, values shall - all refer to object instances of the same type, for which the same - criteria is then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed object - of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - LoggingJob: - description: >- - This type represents a logging job. It shall comply with the provisions - defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - collected. This attribute shall contain the identifier of the - instance of the object that is logged according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed object - of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - logReports: - description: Information about available log reports created by the logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: | - An identifier with the intention of being globally unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining to - NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO - functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input and - output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, - only messages that match all the values provided in the - sub-attributes shall be logged. An API consumer can provide more - than one "matchingPattern" if combinations of patterns are to be - considered to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all - valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": for - matching any kind redirection response. - "4XX": for - matching any kind of client error response. - "5XX": for - matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field - name shall be one of the supported fields in a request - message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause 4.2.3 of - ETSI GS NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in - the header field indicated by "headerField" shall be the - same as in this attribute. Shall be provided if a - "headerField" is provided. The API producer may support - this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part - containing all the values from the list shall match the - filter. In addition to a matching filter for the body of - the message, a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to appropriate - textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with four keys - ("aString", "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different keys can be - of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in the - clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used - to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall - collect system log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more severe) or - equal to the value provided by this present attribute. - type: number - LoggingJobMessagesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - OUT: - output messages from the interface. - ALL: both input and output - messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, only - messages that match all the values provided in the sub-attributes - shall be logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are to be considered - to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers - separated by dots, each integer ranging from 0 to 255. In case - of an IPV6 address, string that consists of groups of zero to - four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP request - method of the message shall be the same as the value of this - attribute. Valid values are specified in IETF RFC 7231. The - API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers - separated by dots, each integer ranging from 0 to 255. In case - of an IPV6 address, string that consists of groups of zero to - four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all valid - HTTP response codes and their specification documents can be - obtained from the HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any kind of - informational response. - "2XX": for matching any kind of - success response. - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field name - shall be one of the supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a - response message as defined in clause 4.2.3 of ETSI GS NFV-SOL - 013, in accordance with the "direction" criteria input. The - API producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in the - header field indicated by "headerField" shall be the same as - in this attribute. Shall be provided if a "headerField" is - provided. The API producer may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part containing - all the values from the list shall match the filter. In - addition to a matching filter for the body of the message, a - corresponding "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to restrict matching - to appropriate textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - LoggingJobServicesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - LoggingJobSystemCriteria: - description: >- - This type represents criteria for logging jobs to collect logged system - events of the NFV-MANO functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is "rfc5424", - which represents the set of values specified in the clause 6.2.1, - table 2 of IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall collect - system log messages, as indicated by the "systemLogs" attribute, - with severity levels lower (i.e., more severe) or equal to the value - provided by this present attribute. - type: number - LoggingJobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The present - document version does not specify the support for "log compilation and - reporting based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to the - consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the consumer - once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, in - seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log data, - in bytes. It is used when the compilation is based on the size of - the collected log data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer (e.g., - every 24 hours). If not present, a default value as specified with - the "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of the - compiled log file. More than one algorithm can be provided - from higher (lower array index) to lower (higher array - index) precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and "signFirst" - for the order "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for retrieving/accessing - the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided if - required by the type of transfer protocol. May be omitted if - the key has been provided to the API producer by other - means, or if it has already been provided in some previous - CreateLoggingJobRequest issued by the same API consumer, - whose public key has not changed. - type: string - LogReportAvailableNotification: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information has - been collected by the logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be set to - "LogReportAvailableNotification" for this notification type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. Due to - the relationship of the logging job compilation and the logging - information availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log management - event from the API producer to the API consumer. The API consumer - shall have previously created an "Individual subscription" resource - with a matching filter. This method shall follow the provisions - specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report - of the NFV-MANO functional entity is available. It shall - comply with the provisions defined in table 8.6.2.4-1. The - notification shall be triggered by the NFV-MANO functional - entity when log information has been collected by the - logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging job - compilation and the logging information availability - reporting, more than one logReport notification link - can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if - the request URI contains incorrect query parameters or the - payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does not - support paging for the affected resource, it shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If there is an application error related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of the - error shall be returned in the WWW Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of - API requests and notifications, as defined in clauses 4.5.3.3 - and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure shall be - provided. It should include in the "detail" attribute - information about the source of the problem, and may indicate - how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for - the resource addressed by the URI passed in the request or is - not willing to disclose that one exists, it shall respond with - this response code. The "ProblemDetails" structure may be - provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is designed - to contain child resources, but does not contain any child - resource at the time the request is received. For a GET request - to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty - array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name - of a content type that is acceptable to the API producer, the - API producer shall respond with this response code. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP response - code ("catch all error"), the API producer shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the - use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified in - the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: - IETF RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned to indicate that the notification endpoint has - been tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if - the request URI contains incorrect query parameters or the - payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does not - support paging for the affected resource, it shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If there is an application error related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of the - error shall be returned in the WWW Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of - API requests and notifications, as defined in clauses 4.5.3.3 - and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure shall be - provided. It should include in the "detail" attribute - information about the source of the problem, and may indicate - how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for - the resource addressed by the URI passed in the request or is - not willing to disclose that one exists, it shall respond with - this response code. The "ProblemDetails" structure may be - provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is designed - to contain child resources, but does not contain any child - resource at the time the request is received. For a GET request - to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty - array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name - of a content type that is acceptable to the API producer, the - API producer shall respond with this response code. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP response - code ("catch all error"), the API producer shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the - use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index 970ba04e0..55e7a682a 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET all Subscriptions ... Test title: GET all Subscriptions ... Test objective: The objective is to test the retrieval list of active subscriptions list to log management notifications and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Subscriptions with attribute-based filter ... Test title: GET Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of active subscriptions list to log management notifications using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Subscriptions with Paged Response ... Test title: GET Subscriptions with Paged Response ... Test objective: The objective is to query information of active subscriptions list to log management notifications to get Paged Response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Subscriptions - invalid attribute-based filter ... Test title: GET Subscriptions - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET Subscriptions - Bad Request Response too Big ... Test title: GET Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET Subscriptions - invalid resource endpoint ... Test title: GET Subscriptions - invalid resource endpoint ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid resource endpoint. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ Create new Subscription ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription to log management notification and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The subscription is successfully set and it matches the issued subscription @@ -138,7 +138,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO @@ -154,7 +154,7 @@ Create request for duplicated Subscription creating duplicated subscriptions ... Test title: Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription @@ -169,7 +169,7 @@ PUT Subscriptions - Method not implemented ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -181,7 +181,7 @@ PATCH Subscriptions - Method not implemented ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ DELETE Subscriptions - Method not implemented ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json index 3e2d3219f..35eabbecc 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json @@ -1,176 +1,156 @@ { - "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. It shall comply with the provisions defined in table 8.6.2.7-1.\n", - "type": "object", - "required": [ - "id", - "objectInstanceId", - "compilationTrigger", - "readyTime", - "fileFormat", - "fileLocationInfo", - "securityAndIntegrityInfo", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. * NOTE:\tIt is not specified in the present document how the NFV-MANO functional entity's private\n key is provided to the NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "id", + "objectInstanceId", + "compilationTrigger", + "readyTime", + "fileFormat", + "fileLocationInfo", + "securityAndIntegrityInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "compilationTrigger": { - "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.", - "type": "string", - "enum": [ - "ON_DEMAND", - "AUTOMATIC" - ] - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the compiled log file in bytes, if known.", - "type": "integer", - "format": "int32" - }, - "fileFormat": { - "description": "The encoding used by the file.", - "type": "string" - }, - "fileLocationInfo": { - "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.", - "type": "object", - "required": [ - "protocol", - "fileEndpoint" - ], - "properties": { - "protocol": { - "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228 [i.11],\n using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.", - "type": "string", - "enum": [ - "HTTPS", - "SFTP", - "SCP", - "FTPS" - ] - }, - "fileEndpoint": { - "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.", - "type": "string", - "format": "URI" - } + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } }, - "securityAndIntegrityInfo": { - "description": "Security and integrity information for the compilation of the log files.", - "type": "object", - "required": [ - "algorithm", - "hash", - "logFileSignature", - "signingCertificate" - ], - "properties": { - "algorithm": { - "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.", - "type": "string" - }, - "encryptionPublicKey": { - "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.", - "type": "string" - }, - "cipherAlgorithm": { - "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14].", - "type": "string" - }, - "logFileSignature": { - "description": "Signature to the compiled log file generated with the NFV-MANO functional entity’s private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\".", - "type": "string" - }, - "signingCertificate": { - "description": "X.509 certificate with the NFV-MANO functional entity’s public key used for verifying the log report and compiled log file signatures.", - "type": "string" - } + "required": ["type", "objectId"] + }, + "compilationTrigger": { + "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.", + "type": "string", + "enum": ["ON_DEMAND", "AUTOMATIC"] + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "The size of the compiled log file in bytes, if known.", + "type": "integer", + "format": "int32" + }, + "fileFormat": { + "description": "The encoding used by the file.", + "type": "string" + }, + "fileLocationInfo": { + "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.", + "type": "object", + "required": ["protocol", "fileEndpoint"], + "properties": { + "protocol": { + "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228,\n using explicit mode as specified in IETF RFC 4217. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.", + "type": "string", + "enum": ["HTTPS", "SFTP", "SCP", "FTPS"] + }, + "fileEndpoint": { + "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.", + "type": "string", + "format": "URI" } - }, - "_links": { - "description": "Links for this resource.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { + } + }, + "securityAndIntegrityInfo": { + "description": "Security and integrity information for the compilation of the log files.", + "type": "object", + "required": [ + "algorithm", + "hash", + "logFileSignature", + "signingCertificate" + ], + "properties": { + "algorithm": { + "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.", + "type": "string" + }, + "encryptionPublicKey": { + "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012.", + "type": "string" + }, + "logFileSignature": { + "description": "Signature to the compiled log file generated with the NFV-MANO functional entityΓÇÖs private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\". See note.", + "type": "string" + }, + "signingCertificate": { + "description": "X.509 certificate with the NFV-MANO functional entityΓÇÖs public key used for verifying the log report and compiled log file signatures.", + "type": "string" + } + } + }, + "_links": { + "description": "Links for this resource.", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "objects": { - "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json index e1d684399..68b80a5a1 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json @@ -1,126 +1,112 @@ { - "description": "This notification informs the receiver that the log report of the NFV-MANO functional entity is available. It shall comply with the provisions defined in table 8.6.2.4-1. The notification shall be triggered by the NFV-MANO functional entity when log information has been collected by the logging job and the log report is available.", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"LogReportAvailableNotification\" for this notification type.", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "description": "This notification informs the receiver that the log report of the NFV-MANO functional entity is available. It shall comply with the provisions defined in table 8.6.2.4-1. The notification shall be triggered by the NFV-MANO functional entity when log information has been collected by the logging job and the log report is available.", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "objectInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"LogReportAvailableNotification\" for this notification type.", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "required": ["type", "objectId"] + }, + "_links": { + "description": "Links to resources related to this notification.", + "type": "object", + "required": ["subscription", "logReports"], + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } }, - "required": [ - "type", - "objectId" - ] - }, - "_links": { - "description": "Links to resources related to this notification.", - "type": "object", - "required": [ - "subscription", - "logReports" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "LoggingJob": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "LoggingJob": { + } + }, + "logReports": { + "description": "Link from which the available log report can be obtained. Due to the relationship of the logging job compilation and the logging information availability reporting, more than one logReport notification link can be provided.", + "type": "array", + "items": { "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "logReports": { - "description": "Link from which the available log report can be obtained. Due to the relationship of the logging job compilation and the logging information availability reporting, more than one logReport notification link can be provided.", - "type": "array", - "items": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json index d7dd8b5d5..5521b76ab 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json @@ -1,353 +1,297 @@ { - "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "jobCriteria", - "jobConfig", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", - "type": "array", - "items": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - } - }, - "jobCriteria": { - "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", + "type": "object", + "required": ["id", "objectInstanceIds", "jobCriteria", "jobConfig", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceIds": { + "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", + "type": "array", + "items": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", "type": "object", - "required": [ - "loggingType" - ], "properties": { - "loggingType": { - "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", "type": "string", "enum": [ - "MESSAGES", - "SERVICES", - "SYSTEM" + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" ] }, - "messagesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", - "type": "object", - "required": [ - "direction" - ], - "properties": { - "direction": { - "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", - "type": "string", - "enum": [ - "IN", - "OUT", - "ALL" - ] - }, - "matchingPatterns": { - "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", - "type": "array", - "items": { - "type": "object", - "anyOf": [ - { - "required": [ - "srcIpAddress" - ] - }, - { - "required": [ - "dstIpAddress" - ] - }, - { - "required": [ - "requestMethod" - ] - }, - { - "required": [ - "requestUriPattern" - ] - }, - { - "required": [ - "responseCodes" - ] - } - ], - "properties": { - "srcIpAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "requestMethod": { - "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", - "type": "string" - }, - "requestUriPattern": { - "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", - "type": "string" - }, - "dstIpAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "responseCodes": { - "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", - "type": "array", - "items": { - "type": "string" - } - }, - "headerField": { - "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", - "type": "string" - }, - "headerValue": { - "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", - "type": "string" - }, - "bodyValues": { - "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", - "type": "string" - } - } - } - } - } - }, - "servicesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", - "type": "object", - "properties": { - "logGarbageCollection": { - "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", - "type": "boolean" - } - } + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "systemLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", - "type": "object", - "required": [ - "systemLogs", - "severityLevel" - ], - "properties": { - "systemLogs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "severityLevelScheme": { - "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", - "type": "string" - }, - "severityLevel": { - "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", - "type": "number" - } - } + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } - } - }, - "jobConfig": { - "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", - "type": "object", - "required": [ - "reportingCondition", - "securityConf" - ], - "properties": { - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "endTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "reportingCondition": { - "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", - "required": [ - "reportingType" - ], - "properties": { - "reportingType": { - "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", - "type": "string", - "enum": [ - "REPORTING_ON_COMPILATION", - "NO_REPORTING" - ] - }, - "minimumReportingPeriod": { - "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", - "type": "integer", - "format": "int32" - } - } - }, - "compileBySizeValue": { - "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", - "type": "integer", - "format": "int32" - }, - "compileByTimerValue": { - "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", - "type": "integer", - "format": "int32" - }, - "securityConf": { - "description": "Configuration about the security aspects of the logging job.", - "type": "object", - "properties": { - "logFileEncryption": { - "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", - "required": [ - "encryptionCertificate", - "cipherAlgorithm" - ], + }, + "required": ["type", "objectId"] + } + }, + "jobCriteria": { + "description": "This type represents collection criteria for logging jobs. * NOTE:\tThe value of the loggingType has dependency on the object that is requested to be logged\n (refer to the CreateLoggingJobRequest): a) the logging of messages is only applicable to\n ManoServiceInterface and ConsumedManoInterface objects.", + "type": "object", + "required": ["loggingType"], + "properties": { + "loggingType": { + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entityΓÇÖs system enabled by the provider.\nSee note.", + "type": "string", + "enum": ["MESSAGES", "SERVICES", "SYSTEM"] + }, + "messagesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. * NOTE:\tIf a matching pattern is present, at least one of the \"srcIpAddress\", \"dstIpAddress\", \"requestMethod\",\n \"requestUriPattern\" or \"responseCodes\" shall be provided.", + "type": "object", + "required": ["direction"], + "properties": { + "direction": { + "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", + "type": "string", + "enum": ["IN", "OUT", "ALL"] + }, + "matchingPatterns": { + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages. See note.", + "type": "array", + "items": { "type": "object", + "anyOf": [ + { + "required": ["srcIpAddress"] + }, + { + "required": ["dstIpAddress"] + }, + { + "required": ["requestMethod"] + }, + { + "required": ["requestUriPattern"] + }, + { + "required": ["responseCodes"] + } + ], "properties": { - "encryptionCertificate": { - "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "srcIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "requestMethod": { + "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", + "type": "string" + }, + "requestUriPattern": { + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", "type": "string" }, - "cipherAlgorithm": { - "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "dstIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "responseCodes": { + "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", "type": "array", "items": { - "type": "string", - "minItems": 1 + "type": "string" } }, - "encryptAndSignOrder": { - "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "headerField": { + "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", "type": "string" - } - } - }, - "logTransferSecurity": { - "description": "Information about the security measures for retrieving/accessing the compiled log files.", - "type": "object", - "properties": { - "publicKey": { - "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", + }, + "headerValue": { + "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", + "type": "string" + }, + "bodyValues": { + "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", "type": "string" } } } } } - } - }, - "logReports": { - "description": "Information about available log reports created by the logging job.", - "type": "array", - "items": { + }, + "servicesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. * NOTE:\tIn the present version of the present document, only one attribute, i.e.\n \"logGarbageCollection\", is available.", + "type": "object", + "properties": { + "logGarbageCollection": { + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. See note.", + "type": "boolean" + } + } + }, + "systemLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. * NOTE:\tThe set of properties and values for this attribute are assumed to be known to the consumer\n by means defined outside of the present document.", "type": "object", - "required": [ - "logReportId", - "logReportLoc" - ], + "required": ["systemLogs", "severityLevel"], "properties": { - "logReportId": { - "description": "An identifier with the intention of being globally unique.\n", + "systemLogs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "severityLevelScheme": { + "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", "type": "string" }, - "logReportLoc": { - "description": "This type represents a link to a resource using an absolute URI.\n", + "severityLevel": { + "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", + "type": "number" + } + } + } + } + }, + "jobConfig": { + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.\n* NOTE 1:\tThe minimumReportingPeriod is used to throttle possible flooding of reports by providing a lower\n limit on the gap between two log availability notification to be emitted by the same logging job.\n NOTE 2:\tMore than one logCompilingCondition is possible to provide a combination of different conditions\n for the compilation. This covers use cases when the compilation of the log can be based on, e.g.\n a timer value and a size value, whichever first condition is met first. For instance, compile a\n log every 3 600 seconds, or whenever during the 3 600 seconds period the log grows in\n size to 1 000 000 bytes.\n NOTE 3:\tThe value is indicative, as the actual size of the compiled log files might not match the provided\n compileBySizeValue due to possible deviations in the tracking of the size of the log data by the\n API producer, and the size of individual logged data entries when these are collected.", + "type": "object", + "required": ["reportingCondition", "securityConf"], + "properties": { + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "reportingCondition": { + "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", + "required": ["reportingType"], + "properties": { + "reportingType": { + "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", + "type": "string", + "enum": ["REPORTING_ON_COMPILATION", "NO_REPORTING"] + }, + "minimumReportingPeriod": { + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds. See note 1.", + "type": "integer", + "format": "int32" + } + } + }, + "compileBySizeValue": { + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2 and note 3.", + "type": "integer", + "format": "int32" + }, + "compileByTimerValue": { + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2.", + "type": "integer", + "format": "int32" + }, + "securityConf": { + "description": "Configuration about the security aspects of the logging job.", + "type": "object", + "properties": { + "logFileEncryption": { + "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", + "required": ["encryptionCertificate", "cipherAlgorithm"], "type": "object", - "required": [ - "href" - ], "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", + "encryptionCertificate": { + "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + }, + "encryptAndSignOrder": { + "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "type": "string" + } + } + }, + "logTransferSecurity": { + "description": "Information about the security measures for retrieving/accessing the compiled log files.", + "type": "object", + "properties": { + "publicKey": { + "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", "type": "string" } } } } } - }, - "_links": { - "description": "Links for this resource.", + } + }, + "logReports": { + "description": "Information about available log reports created by the logging job.", + "type": "array", + "items": { "type": "object", - "required": [ - "self" - ], + "required": ["logReportId", "logReportLoc"], "properties": { - "self": { + "logReportId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "logReportLoc": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "objects": { - "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + } + } + }, + "_links": { + "description": "Links for this resource.", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json index 92df600dc..86390e42b 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json @@ -42,74 +42,49 @@ "type": "string" } }, - "required": [ - "type", - "objectId" - ] + "required": ["type", "objectId"] } }, "jobCriteria": { - "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "description": "This type represents collection criteria for logging jobs. * NOTE:\tThe value of the loggingType has dependency on the object that is requested to be logged\n (refer to the CreateLoggingJobRequest): a) the logging of messages is only applicable to\n ManoServiceInterface and ConsumedManoInterface objects.", "type": "object", - "required": [ - "loggingType" - ], + "required": ["loggingType"], "properties": { "loggingType": { - "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entityΓÇÖs system enabled by the provider.\nSee note.", "type": "string", - "enum": [ - "MESSAGES", - "SERVICES", - "SYSTEM" - ] + "enum": ["MESSAGES", "SERVICES", "SYSTEM"] }, "messagesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. * NOTE:\tIf a matching pattern is present, at least one of the \"srcIpAddress\", \"dstIpAddress\", \"requestMethod\",\n \"requestUriPattern\" or \"responseCodes\" shall be provided.", "type": "object", - "required": [ - "direction" - ], + "required": ["direction"], "properties": { "direction": { "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", "type": "string", - "enum": [ - "IN", - "OUT", - "ALL" - ] + "enum": ["IN", "OUT", "ALL"] }, "matchingPatterns": { - "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages. See note.", "type": "array", "items": { "type": "object", "anyOf": [ { - "required": [ - "srcIpAddress" - ] + "required": ["srcIpAddress"] }, { - "required": [ - "dstIpAddress" - ] + "required": ["dstIpAddress"] }, { - "required": [ - "requestMethod" - ] + "required": ["requestMethod"] }, { - "required": [ - "requestUriPattern" - ] + "required": ["requestUriPattern"] }, { - "required": [ - "responseCodes" - ] + "required": ["responseCodes"] } ], "properties": { @@ -123,7 +98,7 @@ "type": "string" }, "requestUriPattern": { - "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", "type": "string" }, "dstIpAddress": { @@ -156,22 +131,19 @@ } }, "servicesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. * NOTE:\tIn the present version of the present document, only one attribute, i.e.\n \"logGarbageCollection\", is available.", "type": "object", "properties": { "logGarbageCollection": { - "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. See note.", "type": "boolean" } } }, "systemLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. * NOTE:\tThe set of properties and values for this attribute are assumed to be known to the consumer\n by means defined outside of the present document.", "type": "object", - "required": [ - "systemLogs", - "severityLevel" - ], + "required": ["systemLogs", "severityLevel"], "properties": { "systemLogs": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", @@ -190,12 +162,9 @@ } }, "jobConfig": { - "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.\n* NOTE 1:\tThe minimumReportingPeriod is used to throttle possible flooding of reports by providing a lower\n limit on the gap between two log availability notification to be emitted by the same logging job.\n NOTE 2:\tMore than one logCompilingCondition is possible to provide a combination of different conditions\n for the compilation. This covers use cases when the compilation of the log can be based on, e.g.\n a timer value and a size value, whichever first condition is met first. For instance, compile a\n log every 3 600 seconds, or whenever during the 3 600 seconds period the log grows in\n size to 1 000 000 bytes.\n NOTE 3:\tThe value is indicative, as the actual size of the compiled log files might not match the provided\n compileBySizeValue due to possible deviations in the tracking of the size of the log data by the\n API producer, and the size of individual logged data entries when these are collected.", "type": "object", - "required": [ - "reportingCondition", - "securityConf" - ], + "required": ["reportingCondition", "securityConf"], "properties": { "startTime": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", @@ -209,32 +178,27 @@ }, "reportingCondition": { "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", - "required": [ - "reportingType" - ], + "required": ["reportingType"], "properties": { "reportingType": { "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", "type": "string", - "enum": [ - "REPORTING_ON_COMPILATION", - "NO_REPORTING" - ] + "enum": ["REPORTING_ON_COMPILATION", "NO_REPORTING"] }, "minimumReportingPeriod": { - "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds. See note 1.", "type": "integer", "format": "int32" } } }, "compileBySizeValue": { - "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2 and note 3.", "type": "integer", "format": "int32" }, "compileByTimerValue": { - "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2.", "type": "integer", "format": "int32" }, @@ -244,10 +208,7 @@ "properties": { "logFileEncryption": { "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", - "required": [ - "encryptionCertificate", - "cipherAlgorithm" - ], + "required": ["encryptionCertificate", "cipherAlgorithm"], "type": "object", "properties": { "encryptionCertificate": { @@ -287,10 +248,7 @@ "type": "array", "items": { "type": "object", - "required": [ - "logReportId", - "logReportLoc" - ], + "required": ["logReportId", "logReportLoc"], "properties": { "logReportId": { "description": "An identifier with the intention of being globally unique.\n", @@ -299,9 +257,7 @@ "logReportLoc": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -315,16 +271,12 @@ "_links": { "description": "Links for this resource.", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -338,9 +290,7 @@ "items": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json index 607b69aea..0187d942b 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json @@ -1,153 +1,153 @@ { - "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. It shall comply with the provisions defined in table 8.6.3.7-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).", - "type": "object", - "properties": { - "objectInstanceFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", - "type": "object", - "anyOf": [ - { - "oneOf": [ - { - "required": [ - "manoServiceIds" - ] - }, - { - "required": [ - "manoServiceNames" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "manoServiceInterfaceIds" - ] - }, - { - "required": [ - "manoServiceInterfaceNames" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "consumedManoInterfaceIds" - ] - }, - { - "required": [ - "consumedManoInterfaceNames" - ] - } - ] - } - ], - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", - "type": "array", - "items": { - "type": "string" + "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.", + "type": "object", + "properties": { + "objectInstanceFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "manoServiceIds" + ] + }, + { + "required": [ + "manoServiceNames" + ] } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + ] + }, + { + "oneOf": [ + { + "required": [ + "manoServiceInterfaceIds" + ] + }, + { + "required": [ + "manoServiceInterfaceNames" + ] } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", - "type": "array", - "items": { - "type": "string" + ] + }, + { + "oneOf": [ + { + "required": [ + "consumedManoInterfaceIds" + ] + }, + { + "required": [ + "consumedManoInterfaceNames" + ] } + ] + } + ], + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" } } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", - "type": "string", - "enum": [ - "LogReportAvailableNotification" - ] } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification See note.", + "type": "string", + "enum": [ + "LogReportAvailableNotification" + ] } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json index 75c0daedd..578b00f70 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json @@ -1,19 +1,16 @@ -{ "type": "array", +{ + "type": "array", "items": { "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], + "required": ["id", "callbackUri", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. It shall comply with the provisions defined in table 8.6.3.7-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).", + "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.", "type": "object", "properties": { "objectInstanceFilter": { @@ -23,42 +20,30 @@ { "oneOf": [ { - "required": [ - "manoServiceIds" - ] + "required": ["manoServiceIds"] }, { - "required": [ - "manoServiceNames" - ] + "required": ["manoServiceNames"] } ] }, { "oneOf": [ { - "required": [ - "manoServiceInterfaceIds" - ] + "required": ["manoServiceInterfaceIds"] }, { - "required": [ - "manoServiceInterfaceNames" - ] + "required": ["manoServiceInterfaceNames"] } ] }, { "oneOf": [ { - "required": [ - "consumedManoInterfaceIds" - ] + "required": ["consumedManoInterfaceIds"] }, { - "required": [ - "consumedManoInterfaceNames" - ] + "required": ["consumedManoInterfaceNames"] } ] } @@ -116,11 +101,9 @@ } }, "notificationTypes": { - "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification See note.", "type": "string", - "enum": [ - "LogReportAvailableNotification" - ] + "enum": ["LogReportAvailableNotification"] } } }, @@ -131,16 +114,12 @@ "_links": { "description": "Links to resources related to this resource.", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL009/README.md b/SOL009/README.md index bb1592d77..68272f4f0 100644 --- a/SOL009/README.md +++ b/SOL009/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL009 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_nfv-sol009v030501p.pdf -- GitLab From 0ab1a077629845c7aeb4ac4b3c43cf4512f8d82d Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:46:34 +0500 Subject: [PATCH 027/211] add error 422 test case in Log Mgmt API --- .../NFVMANOLogManagementKeywords.robot | 120 ++++++++++-------- .../Subscriptions.robot | 27 +++- .../environment/variables.txt | 9 +- 3 files changed, 90 insertions(+), 66 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index e1be24d63..ee073a7f7 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -34,7 +34,7 @@ POST Create a new logging job Log Create a logging job Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Set Headers {"Authorization":"${AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/createLoggingJobRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${body} @@ -48,7 +48,7 @@ Check Post-Condition Logging job is created GET Logging Jobs Log Query to GET information about logging jobs. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response @@ -58,7 +58,7 @@ GET Logging Jobs with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${output}= Output response @@ -77,7 +77,7 @@ GET Logging Jobs with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${output}= Output response @@ -85,7 +85,7 @@ GET Logging Jobs with expired or revoked authorization token GET Logging Job with invalid filter Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?attribute_not_exist=some_value ${outputResponse}= Output response @@ -93,7 +93,7 @@ GET Logging Job with invalid filter GET Logging Job with invalid selector Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=wrong_field ${outputResponse}= Output response @@ -102,7 +102,7 @@ GET Logging Job with invalid selector GET Logging Job with filter Log Query information about logging jobs with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?${alarm_filter}=${filter_value} ${outputResponse}= Output response @@ -111,7 +111,7 @@ GET Logging Job with filter GET Logging jobs with all_fields attribute selector Log Queries information about logging jobs, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -119,7 +119,7 @@ GET Logging jobs with all_fields attribute selector GET Logging Jobs with exclude_default attribute selector Log Queries information about logging jobs, using exclude_default Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -127,7 +127,7 @@ GET Logging Jobs with exclude_default attribute selector GET Logging Jobs with fields attribute selector Log Queries information about Logging Jobs, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -135,7 +135,7 @@ GET Logging Jobs with fields attribute selector GET Logging Jobs with fields and exclude_default attribute selector Log Queries information about Logging Jobs, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -143,7 +143,7 @@ GET Logging Jobs with fields and exclude_default attribute selector GET Logging Jobs with exclude_fields attribute selector Log Query NFV-MANO The GET method queries information about multiple alarms, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -155,21 +155,21 @@ Check HTTP Response Header Contains Link PUT Logging Jobs log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} PATCH Logging Jobs log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} DELETE Logging Jobs log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -177,7 +177,7 @@ DELETE Logging Jobs Send Post request for individual Logging Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -185,7 +185,7 @@ Send Post request for individual Logging Job GET individual Logging Job Log Trying to get a Logging Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -199,7 +199,7 @@ Check HTTP Response Body Logging Job Identifier matches the requested Logging Jo GET individual Logging Job with invalid resource identifier Log Trying to perform a negative get, using erroneous logging Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -207,7 +207,7 @@ GET individual Logging Job with invalid resource identifier Send Put request for individual Logging Job Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -218,7 +218,7 @@ Send Put request for individual Logging Job Send Patch request for individual Logging Job Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -227,7 +227,7 @@ Send Patch request for individual Logging Job Send Delete request for individual Logging Job Log Trying to delete an existing logging Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -240,14 +240,14 @@ Check Postcondition Logging Job is Deleted Send Delete request for individual Logging Job with invalid resource identifier Log Trying to perform a negative delete, using erroneous Logging Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${erroneousLogJobId} ${output}= Output response Set Suite Variable ${response} ${output} Send Post request for Individual Log Report Log Trying to create new log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${newReportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -255,7 +255,7 @@ Send Post request for Individual Log Report Get Individual Log Report Log Trying to get log report Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -263,14 +263,14 @@ Get Individual Log Report Get Individual Log Report with invalid resource endpoint Log Trying to get a log report with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${erroneousReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Put request for Individual Log Report Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -280,7 +280,7 @@ Send Put request for Individual Log Report Send Patch request for Individual Log Report Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -290,7 +290,7 @@ Send Patch request for Individual Log Report Send Delete request for Individual Log Report Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -300,7 +300,7 @@ Send Log data Request in Synchronous mode Pass Execution If ${SYNC_MODE} == 0 The compile process is asynchronous mode. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/compileLogRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -316,7 +316,7 @@ Send Log data Request in Asynchronous mode Pass Execution If ${SYNC_MODE} == 1 The compile process is synchronous mode. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/compileLogRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -329,7 +329,7 @@ Send Log data Request in Asynchronous mode Get Success notification log Trying to read an compiled file Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -340,7 +340,7 @@ Get Success notification Send Log data Request Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Set Headers {"Authorization":"${AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/createLoggingJobRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -349,14 +349,14 @@ Send Log data Request Send Get Compiled Log Data Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${output}= Output response Set Suite Variable ${response} ${output} Send Put Compiled Log Data Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -366,7 +366,7 @@ Send Put Compiled Log Data Send Patch Compiled Log Data Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -376,7 +376,7 @@ Send Patch Compiled Log Data Send Delete Compiled Log Data Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${output}= Output response Set Suite Variable ${response} ${output} @@ -398,7 +398,7 @@ Get all Subscriptions [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "application/json"} Set headers {"Content-Type": "application/json"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -406,7 +406,7 @@ Get all Subscriptions Get Subscriptions with attribute-based filters [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} ${output}= Output response Set Suite Variable ${response} ${output} @@ -414,7 +414,7 @@ Get all Subscriptions Get Subscriptions with invalid attribute-based filters [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} ${output}= Output response Set Suite Variable ${response} ${output} @@ -422,7 +422,7 @@ Get Subscriptions with invalid attribute-based filters Get subscriptions with filter "id" Log Get the list of active subscriptions using a filter "id" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?id=${subscription_id} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -433,26 +433,36 @@ Check PostCondition HTTP Response Body Subscription Matches the requested attrib Get subscriptions with filter "filter_notificationTypes" Log Get the list of active subscriptions using a filter "filter.notificationTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.notificationTypes=${notification_type} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} END Send Post Request for Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${output}= Output response Set Suite Variable ${response} ${output} +Send Post Request for Subscription with unreachable callbackUri + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription ${template}= Get File jsons/subscriptions.json @@ -471,7 +481,7 @@ Check Postcondition Subscription Is Set Send Post Request for Duplicated Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false @@ -500,7 +510,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab Send Put Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -508,7 +518,7 @@ Send Put Request for Subscriptions Send Patch Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -516,14 +526,14 @@ Send Patch Request for Subscriptions Send Delete Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -535,14 +545,14 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript GET individual Subscription with invalid resource identifier Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Send Delete request for individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -554,19 +564,19 @@ Check Postcondition Subscription is Deleted Send Delete request for individual Subscription with invalid resource identifier Log Trying to delete a subscription in the VNFM with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Put request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -575,7 +585,7 @@ Send Put request for individual Subscription Set Suite Variable @{response} ${output} Send Patch request for individual Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index 55e7a682a..bcb37a538 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -117,9 +117,9 @@ Get subscriptions with filter "filter.notificationTypes" Check HTTP Response Body Json Schema Is LogmSubscriptions Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" -Create new Subscription +POST Create new Subscription [Documentation] Test ID: 8.3.4.5.9 - ... Test title: Create new Subscription + ... Test title: POST Create new Subscription ... Test objective: The objective is to test the creation of a new subscription to log management notification and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -132,10 +132,10 @@ Create new Subscription Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription Check Postcondition Subscription Is Set -Create request for duplicated Subscription not creating duplicated subscriptions +POST Create request for duplicated Subscription not creating duplicated subscriptions [Tags] no-duplicated-subs [Documentation] Test ID: 8.3.4.5.10 - ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions + ... Test title: POST Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -148,10 +148,10 @@ Create request for duplicated Subscription not creating duplicated subscriptions Check HTTP Response Header Contains Location Check Postcondition Subscription Resource Returned in Location Header Is Available -Create request for duplicated Subscription creating duplicated subscriptions +POST Create request for duplicated Subscription creating duplicated subscriptions [Tags] duplicated-subs [Documentation] Test ID: 8.3.4.5.11 - ... Test title: Create request for duplicated Subscription creating duplicated subscriptions + ... Test title: POST Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -198,4 +198,17 @@ DELETE Subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: none Send Delete Request for Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +POST Create new Subscription - Unprocessable entity + [Documentation] Test ID: 8.3.4.5.15 + ... Test title: POST Create new Subscription - Unprocessable entity + ... Test objective: The objective is to test that a new log management subscription is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request for Subscription with unreachable callbackUri + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index 0b09b860f..143677df0 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -6,10 +6,10 @@ ${NFVMANO_SCHEMA} https ${logJobId} 0b000d4f1a2b67 ${erroneousLogJobId} wrongID - -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE} application/json ${CONTENT_TYPE_JSON} application/json @@ -30,6 +30,7 @@ ${origResponse} {} ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous -- GitLab From 6224389a04dc489a563d15d322e3d75c8409ae47 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:54:36 +0500 Subject: [PATCH 028/211] comment out unused variabes from FM API variables.txt file --- SOL009/NFVMANOLogManagement-API/environment/variables.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index 143677df0..dc7f3f08f 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -16,10 +16,10 @@ ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${ACCEPT} application/json ${AUTH_USAGE} 1 -${FIELD_USAGE} 1 +#${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 @@ -35,8 +35,8 @@ ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 3c8d718081f7783153ba50b2647768e49bcc7bb2 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:01:14 +0500 Subject: [PATCH 029/211] comment out unused variabes from FM API variables.txt file --- .../environment/variables.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index eb348e14c..fb12e380f 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -27,14 +27,14 @@ ${invalid_alarm_filter} badFilter ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${Etag}= an etag -${Etag_modified}= a modified etag +#${Etag_modified}= a modified etag ${NFVMANO_DUPLICATION} 1 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${faultyResourceType} +#${faultyResourceType} ${notification_type} AlarmNotification ${callback_port} 9091 @@ -42,14 +42,14 @@ ${callback_uri} http://localhost:${callback_port} ${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s +#${total_polling_time} 2 min +#${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +#${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callbackResp} 127.0.0.1 \ No newline at end of file -- GitLab From fc12675f304ac89a0afc572ed152a22c2a7dcc51 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:10:40 +0500 Subject: [PATCH 030/211] comment out unused variabes from CIM API variables.txt file --- .../NFVMANOCimKeywords.robot | 164 +++++++++--------- .../environment/variables.txt | 16 +- 2 files changed, 90 insertions(+), 90 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index cb1eb6210..9471ad5ab 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -33,7 +33,7 @@ Check HTTP Response Body Json Schema Is Send Post request for NFV-MANO Entity Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -41,7 +41,7 @@ Send Post request for NFV-MANO Entity GET NFV-MANO entity resource Log Trying to get a NFV-MANO entity resource Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -49,7 +49,7 @@ GET NFV-MANO entity resource Send Put request for NFV-MANO Entity Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -61,7 +61,7 @@ Send Patch request for NFV-MANO Entity log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/ManoConfigModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${body} ${outputResponse}= Output response @@ -70,7 +70,7 @@ Send Patch request for NFV-MANO Entity Send Delete request for NFV-MANO Entity Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -78,7 +78,7 @@ Send Delete request for NFV-MANO Entity Send Post request for NFV-MANO functional entity application state change Log Trying to perform a POST for NFV-MANO functional entity application state change Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ChangeStateRequest.json ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state @@ -90,7 +90,7 @@ Wait for entity state change success notification and validate status Check entity state Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -101,7 +101,7 @@ Check entity state Send Get request for NFV-MANO functional entity application state change Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -109,7 +109,7 @@ Send Get request for NFV-MANO functional entity application state change Send Put request for NFV-MANO functional entity application state change Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity/change_state ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -120,7 +120,7 @@ Send Put request for NFV-MANO functional entity application state change Send Patch request for NFV-MANO functional entity application state change Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -128,7 +128,7 @@ Send Patch request for NFV-MANO functional entity application state change Send Delete request for NFV-MANO functional entity application state change Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -136,7 +136,7 @@ Send Delete request for NFV-MANO functional entity application state change Send Post request for Change State Operation Occurrences Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${output}= Output response Set Suite Variable ${response} ${output} @@ -144,7 +144,7 @@ Send Post request for Change State Operation Occurrences Get Change State Operation Occurrences Log Query to GET information about multiple change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response @@ -152,7 +152,7 @@ Get Change State Operation Occurrences Get Change State Operation Occurrences with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?attribute_not_exist=some_value ${outputResponse}= Output response @@ -160,7 +160,7 @@ Get Change State Operation Occurrences with invalid filter Get Change State Operation Occurrences with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=wrong_field ${outputResponse}= Output response @@ -169,7 +169,7 @@ Get Change State Operation Occurrences with invalid selector Get Change State Operation Occurrences with filter Log Query information about multiple change state operation occurrences with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?${filter}=${filter_value} ${outputResponse}= Output response @@ -178,7 +178,7 @@ Get Change State Operation Occurrences with filter Get Change State Operation Occurrences with all_fields attribute selector Log Queries information about multiple change state operation occurrences, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -186,7 +186,7 @@ Get Change State Operation Occurrences with all_fields attribute selector Get Change State Operation Occurrences with fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -194,7 +194,7 @@ Get Change State Operation Occurrences with fields attribute selector Get Change State Operation Occurrences with exclude_default attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -202,7 +202,7 @@ Get Change State Operation Occurrences with exclude_default attribute selector Get Change State Operation Occurrences with exclude_fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -210,7 +210,7 @@ Get Change State Operation Occurrences with exclude_fields attribute selector Get Change State Operation Occurrences with fields and exclude_default attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -222,7 +222,7 @@ Check HTTP Response Header Contains Link Send PUT request for Change State Operation Occurrences log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -230,7 +230,7 @@ Send PUT request for Change State Operation Occurrences Send PATCH request for Change State Operation Occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -238,7 +238,7 @@ Send PATCH request for Change State Operation Occurrences Send DELETE request for Change State Operation Occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -246,7 +246,7 @@ Send DELETE request for Change State Operation Occurrences Send Post request for Individual Change State Operation Occurrence Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -254,7 +254,7 @@ Send Post request for Individual Change State Operation Occurrence Get Individual Change State Operation Occurrence Log Query to GET information about individual change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response @@ -263,7 +263,7 @@ Get Individual Change State Operation Occurrence Send Put request for Individual Change State Operation Occurrence log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -271,7 +271,7 @@ Send Put request for Individual Change State Operation Occurrence Send Patch request for Individual Change State Operation Occurrence log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -279,7 +279,7 @@ Send Patch request for Individual Change State Operation Occurrence Send Delete request for Individual Change State Operation Occurrence log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -287,7 +287,7 @@ Send Delete request for Individual Change State Operation Occurrence Send Post request for NFV-MANO Service Interfaces Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${output}= Output response Set Suite Variable ${response} ${output} @@ -295,7 +295,7 @@ Send Post request for NFV-MANO Service Interfaces Get NFV-MANO Service Interfaces Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response @@ -303,7 +303,7 @@ Get NFV-MANO Service Interfaces Get NFV-MANO Service Interfaces with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?attribute_not_exist=some_value ${outputResponse}= Output response @@ -311,7 +311,7 @@ Get NFV-MANO Service Interfaces with invalid filter Get NFV-MANO Service Interfaces with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=wrong_field ${outputResponse}= Output response @@ -320,7 +320,7 @@ Get NFV-MANO Service Interfaces with invalid selector Get NFV-MANO Service Interfaces with filter Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?${filter}=${filter_value} ${outputResponse}= Output response @@ -329,7 +329,7 @@ Get NFV-MANO Service Interfaces with filter Get NFV-MANO Service Interfaces with all_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -337,7 +337,7 @@ Get NFV-MANO Service Interfaces with all_fields attribute selector Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -345,7 +345,7 @@ Get NFV-MANO Service Interfaces with exclude_default and fields attribute select Get NFV-MANO Service Interfaces with fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -353,7 +353,7 @@ Get NFV-MANO Service Interfaces with fields attribute selector Get NFV-MANO Service Interfaces with exclude_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -361,7 +361,7 @@ Get NFV-MANO Service Interfaces with exclude_fields attribute selector Send PUT request for NFV-MANO Service Interfaces log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -369,7 +369,7 @@ Send PUT request for NFV-MANO Service Interfaces Send PATCH request for NFV-MANO Service Interfaces log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -377,7 +377,7 @@ Send PATCH request for NFV-MANO Service Interfaces Send DELETE request for NFV-MANO Service Interfaces log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -385,14 +385,14 @@ Send DELETE request for NFV-MANO Service Interfaces Send Post request for Individual NFV-MANO Service Interface Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${output}= Output response Set Suite Variable ${response} ${output} Get Individual NFV-MANO Service Interface Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response @@ -401,7 +401,7 @@ Get Individual NFV-MANO Service Interface Send Put request for Individual NFV-MANO Service Interface log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -410,7 +410,7 @@ Send Patch request for Individual NFV-MANO Service Interface log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/ManoServiceInterfaceModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${body} ${outputResponse}= Output response @@ -419,7 +419,7 @@ Send Patch request for Individual NFV-MANO Service Interface Send Delete request for Individual NFV-MANO Service Interface log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -427,7 +427,7 @@ Send Delete request for Individual NFV-MANO Service Interface Send Post request for Change interface state task Log Trying to perform a POST for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ChangeStateRequest.json ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} @@ -439,7 +439,7 @@ Check PostCondition NFV-MANO service interface state matches the requested state Check interface state Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -450,7 +450,7 @@ Check interface state Send Get request for Change interface state task Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -458,7 +458,7 @@ Send Get request for Change interface state task Send Put request for Change interface state task Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -469,7 +469,7 @@ Send Put request for Change interface state task Send Patch request for Change interface state task Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -477,7 +477,7 @@ Send Patch request for Change interface state task Send Delete request for Change interface state task Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}//mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -485,7 +485,7 @@ Send Delete request for Change interface state task Send Post request for Peer Entity Log Trying to perform a POST for Peer Entity Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePeerEntityRequest.json ${body}= Format String ${template} peerEntityId=${peerEntityId} name=${name} type=${type} POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${body} @@ -495,7 +495,7 @@ Send Post request for Peer Entity Get Peer Entities Log Query to GET information about multiple peer entities. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response @@ -503,7 +503,7 @@ Get Peer Entities Get Peer Entities with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?attribute_not_exist=some_value ${outputResponse}= Output response @@ -511,7 +511,7 @@ Get Peer Entities with invalid filter Get Peer Entities with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=wrong_field ${outputResponse}= Output response @@ -520,7 +520,7 @@ Get Peer Entities with invalid selector Get Peer Entities with filter Log Query information about multiple peer entities with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?${filter}=${filter_value} ${outputResponse}= Output response @@ -529,7 +529,7 @@ Get Peer Entities with filter Get Peer Entities with all_fields attribute selector Log Queries information about multiple peer entities, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -537,7 +537,7 @@ Get Peer Entities with all_fields attribute selector Get Peer Entities with fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -545,7 +545,7 @@ Get Peer Entities with fields attribute selector Get Peer Entity with exclude_default and fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -553,7 +553,7 @@ Get Peer Entity with exclude_default and fields attribute selector Get Peer Entities with exclude_fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -561,7 +561,7 @@ Get Peer Entities with exclude_fields attribute selector Send PUT request for Peer Entities log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -569,7 +569,7 @@ Send PUT request for Peer Entities Send PATCH request for Peer Entities log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -577,7 +577,7 @@ Send PATCH request for Peer Entities Send DELETE request for Peer Entities log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -585,14 +585,14 @@ Send DELETE request for Peer Entities Send Post request for Individual Peer Entity Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Peer Entity Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response @@ -601,7 +601,7 @@ Get Individual Peer Entity Send Put request for Individual Peer Entity log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -610,7 +610,7 @@ Send Patch request for Individual Peer Entity log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/PeerEntityConfigModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${body} ${outputResponse}= Output response @@ -619,7 +619,7 @@ Send Patch request for Individual Peer Entity Send Delete request for Individual Peer Entity log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -705,7 +705,7 @@ Check Postcondition Subscription Is Set Send Post Request for Duplicated Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CimSubscriptionRequest.json ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} allow_redirects=false @@ -734,7 +734,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab Send Put Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -742,7 +742,7 @@ Send Put Request for Subscriptions Send Patch Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -750,14 +750,14 @@ Send Patch Request for Subscriptions Send Delete Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -769,14 +769,14 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript GET individual Subscription with invalid resource identifier Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Send Delete request for individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -788,19 +788,19 @@ Check Postcondition Subscription is Deleted Send Delete request for individual Subscription with invalid resource identifier Log Trying to delete a subscription in the VNFM with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Put request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -809,7 +809,7 @@ Send Put request for individual Subscription Set Suite Variable @{response} ${output} Send Patch request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -833,7 +833,7 @@ GET Peer Entities with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${output}= Output response @@ -852,7 +852,7 @@ GET Peer Entities with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${output}= Output response diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index b86b897ab..887bff0d9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -3,19 +3,19 @@ ${NFVMANOHOST} localhost ${NFVMANO_PORT} 8080 ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX -${BAD_AUTHORIZATION} Bear sometoken +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +#${WRONG_AUTHORIZATION_TOKEN} Bearer XXXXXWRONGXXXXX +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${AUTH_USAGE} 1 -${FIELD_USAGE} 1 +#${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v2 @@ -41,8 +41,8 @@ ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From bbdbdbb84aa12c8807e22c89a11547e9bb1d02aa Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:15:21 +0500 Subject: [PATCH 031/211] removed unused OpenAPI yaml --- .../NFVMANOCimKeywords.robot | 1 + ...onfigurationInformationManagement-API.yaml | 33445 ---------------- .../Subscriptions.robot | 4 +- 3 files changed, 3 insertions(+), 33447 deletions(-) delete mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 9471ad5ab..c77617894 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -676,6 +676,7 @@ Send Post Request for Subscription ... Check Notification Endpoint Send Post Request for Subscription with Unreachable callbackUri + Log Trying to create a subscription for an unreachable Notification Endpoint Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml deleted file mode 100644 index 3fed77a90..000000000 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml +++ /dev/null @@ -1,33445 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Configuration and Information Management Interface - description: > - SOL009 - NFV-MANO Configuration and Information Management Interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' - contact: - name: NFV-SOL WG -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://0.0.0.0/nfvmanocim/v1' - description: | - API HTTP Server - - url: 'https://0.0.0.0/nfvmanocim/v1' - description: | - API HTTPS Server -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity: - get: - description: > - Retrives information about an NFV-MANO functional entity by reading the - NFV-MANO entity resource. This method shall follow the provisions - specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when configuration and information about the - NFV-MANO functional entity has been read successfully. The response - body shall contain a representation of the NFV-MANO functional - entity, as defined in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: > - Human-readable description of the NFV-MANO functional - entity. - - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional - entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on - the NFV-MANO functional entity component. The - identifier of the ManoService is referred. A - service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO - service provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - description: - description: > - Human-readable description of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service - interface" resources with information about the - associated interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource - using an absolute URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded - on the NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a - VNFM entity, and that can be relevant to more than one - NFV-MANO service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. - to determine the compatibility of a VNF with certain - VNFM according to the vnfmInfo attribute in the VNFD - (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a - VIM entity, and that can be relevant to more than one - NFV-MANO service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies the NFV-MANO entity resource. Changes to the various - configuration and information attributes are applied to the NFV-MANO - functional entity, and are reflected in the representation of this - resource. This method shall follow the provisions specified in the - tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, request - and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the NFV-MANO configuration and information - modification, as defined in clause 5.6.2.3. The Content-Type header - shall be set to "application/merge-patch+json" according to IETF RFC - 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" - attribute array in the "ManoEntity", as defined below this - table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on the "NFV-MANO entity" resource of the producer - NFV-MANO functional entity. The attributes that can be - included consist of those requested to be modified explicitly - in the "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in - clause 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", - as defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock - synchronization. Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of - certain entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause - 5.6.2.3. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - If present, this attribute signals modification of - the "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of - the "description" attribute in the "ManoService". - type: string - required: - - id - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "NFV-MANO entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/change_state: - post: - description: > - Requests to change the state of the NFV-MANO functional entity - application. - - This method shall follow the provisions specified in the tables - 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/mano_interfaces: - get: - description: > - Queries information about multiple NFV-MANO service interfaces of the - NFV-MANO functional entity. This method shall follow the provisions - specified in the tables 5.5.10.3.2-1 and 5.5.10.3.2-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ManoServiceInterface and in - data types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this - parameter is provided, or none of the parameters "all_fields," - "fields", "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO - service interfaces has been queried successfully. - - The response body shall contain in an array the representations of - zero or more NFV-MANO service interfaces, as defined in clause - 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service - interface produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: > - Information about supported operations of this - interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the API client. - Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - retrieves information about an NFV-MANO service interface of the - producer NFV-MANO functional entity by reading an "Individual NFV-MANO - service interface" resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO - service interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall - be present for ETSI NFV specified RESTful NFV-MANO - APIs. The major version is defined in the standard - the interface is compliant to (see also clause 4.1 of - ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies an "Individual NFV-MANO service interface" resource. - - Changes to the configurable parameters of the corresponding NFV-MANO - service interface are applied to the information managed by the - producer NFV-MANO functional entity and reflected in the representation - of this resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" - resource, as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an Individual NFV-MANO service interface" - resource. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the - "ManoServiceInterface" data structure that were modified - implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoServiceInterface", as defined in - clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: > - Requests to change the state of the NFV-MANO service interface produced - by the NFV-MANO functional entity. - - This method shall follow the provisions specified in the tables - 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for - processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Creates a new subscription. - - This method shall follow the provisions specified in the tables - 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '303': - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI - and the same filter already exists and the policy of NFV-MANO - functional entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the existing "Individual subscription" - resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - queries the list of active subscriptions of the API consumer that - invokes the method. It can be used, e.g., for resynchronization after - error situations. - - This method shall follow the provisions specified in the tables - 5.5.4.3.2-1 and 5.5.4.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of - all active subscriptions of the functional block that invokes the - method, i.e., zero or more representations of NFV-MANO - configuration and information management subscriptions as defined - in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to - reference to NFV-MANO services in a filter. They - should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information about a subscription by reading an "Individual - subscription" resource. - - This method shall follow the provisions specified in the tables - 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual subscription - has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Terminates an individual subscription. - - This method shall follow the provisions specified in the tables - 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /change_state_ops: - get: - description: > - The API consumer can use the GET method to query status information - about multiple change state operation occurrences. - - This method shall follow the provisions specified in the tables - 5.5.8.3.2-1 and 5.5.8.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ChangeStateOpOcc structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", - as defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual - resource, and may be present according to the chosen - attribute selector parameter if this data type is - returned in a response to a query of a container - resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/change_state_ops/{changeStateOpOccId}': - parameters: - - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The API consumer can use the GET method to retrieve status information - about a change state operation occurrence by reading an "Individual - change state operation occurrence" resource. - - This method shall follow the provisions specified in the tables - 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an "Individual change - state operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change - state operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /peer_entities: - post: - description: > - Creates in the producer NFV-MANO functional entity a new peer entity - resource which contains configuration and information with regards to - the peer functional entity. - - This method shall follow the provisions specified in the tables - 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a - new peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has - been created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause - 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that - points to the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual peer entity" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - Queries information and configuration in the producer NFV-MANO - functional entity with regards to multiple peer entities. - - This method shall follow the provisions specified in the tables - 5.5.13.3.2-1 and 5.5.13.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or - none of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more peer entities - has been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - peerEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: > - Human-readable description of the peer functional - entity. - - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the - API. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The major version is - defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used - by the API consumer accessing the API. - - The support of authorization methods for the - API consumer is specified in clause 8.3.6 of - ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC - 5246. - OAUTH2: Using access token, as defined - by the OAuth 2.0 specification in IETF RFC - 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS - negotiation with the authorization server. - Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the - use of TLS tunnel. Shall be present if - authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS negotiation - with the API producer. Valid values of - cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the - API consumer when creating the resource or when - updating it with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/peer_entities/{peerEntityId}': - parameters: - - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information and configuration hold in the producer NFV-MANO - functional entity with regards to a peer entity by reading an - individual peer entity resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual peer - functional entity has been read successfully. - - The response body shall contain a resource representation of the - peer functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies configuration and information of the producer NFV-MANO - functional entity with regards to a peer functional entity by updating - the corresponding "Individual peer entity" resource. - - Changes to the configurable parameters of the corresponding peer entity - are applied to the information managed by the producer NFV-MANO - functional entity and reflected in the representation of this resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - peer functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " - PeerEntity ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined - in clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an "Individual peer entity" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in - clause 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of - certain entries in the "consumedManoInterfaces" attribute - in "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Ddeletes an individual peer entity resource. By deleting such a - resource in the producer NFV-MANO functional entity representing a peer - NFV-MANO entity, the configuration and information with regards to such - peer entity is deleted. Consequently, the peering relationship between - the producer NFV-MANO functional entity and the peer entity is - terminated, i.e., the producer NFV-MANO functional entity does not have - the necessary information to communicate/interact with the peer entity. - - This method shall follow the provisions specified in the tables - 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - schemas: - ManoEntity: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional entity. - It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component realizing - part of an NFV-MANO functional entity. It is optional for the API - producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of the - ManoService is referred. A service may depend on multiple - components. Multiple services may depend on the same - component. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the NFV-MANO - functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional entity’s - application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO - entity, and that can be relevant to more than one NFV-MANO service - offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see table - 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - ManoConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute array - in the "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the "clockSyncs" - attribute array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - ManoConfigModifications: - description: > - This type represents attribute modifications that were performed on the - "NFV-MANO entity" resource of the producer NFV-MANO functional entity. - The attributes that can be included consist of those requested to be - modified explicitly in the "ManoConfigModificationRequest" data - structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoEntity", as defined in clause 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain entries - in "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as defined in - clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - If present, this attribute signals modification of the "name" - attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - CimSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO configuration and information management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - CimSubscription: - description: > - This type represents a subscription related to notifications about - NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - ChangeStateRequest: - description: > - This type represents request parameters for changing the state of a - managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - ChangeStateOpOcc: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute shall - be formatted according to the request data type of the related - change state operation. - - The following mapping between operationType and the data type of - this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned in a - response to reading an individual resource, and may be present - according to the chosen attribute selector parameter if this data - type is returned in a response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - ManoServiceInterface: - description: > - This type represents an individual NFV-MANO service interface produced - by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO functional entity interface. - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - ManoServiceInterfaceModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer NFV-MANO - functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - ManoServiceInterfaceModifications: - description: > - This type represents attribute modifications that were performed on an - Individual NFV-MANO service interface" resource. The attributes that - can be included consist of those requested to be modified explicitly in - the "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - CreatePeerEntityRequest: - description: > - This type represents request parameters for the creation of a new peer - entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - PeerEntity: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API consumer - when creating the resource or when updating it with the PATCH - method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - PeerEntityConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or "null" - to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity ", as - defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - PeerEntityConfigModifications: - description: > - This type represents attribute modifications that were performed on an - "Individual peer entity" resource. The attributes that can be included - consist of those requested to be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If applicable, - additional attributes of the "PeerEntity" data structure that were - modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain entries - in the "consumedManoInterfaces" attribute in "PeerEntity", as - defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - ManoConfigurableParams: - description: | - # Warning: No definition found in the document ManoConfigurableParams - ManoEntityComponent: - description: > - This type represents information of a deployed component realizing part - of an NFV-MANO functional entity. It is optional for the API producer - to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the NFV-MANO - functional entity component. The identifier of the ManoService is - referred. A service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - id - ManoService: - description: > - This type represents information about an NFV-MANO service provided by - the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" resources - with information about the associated interfaces to the - NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - NfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO entity, - and that can be relevant to more than one NFV-MANO service offered by - an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - VnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to determine - the compatibility of a VNF with certain VNFM according to the - vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS - NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - VimSpecificInfo: - description: > - This type represents information attributes specific to a VIM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VIM entity. - type: object - ManoEntityConfigurableParams: - description: > - This type represents list of parameters that can be configured on the - NFV MANO functional entity. - type: object - properties: - clockSyncs: - description: >- - Properties of the clock synchronization to be used by the NFV-MANO - functional entity. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - minItems: 1 - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - required: - - clockSyncs - - defaultLogCompileBySizeValue - - defaultLogCompileByTimerValue - ConsumedManoInterfaceInfo: - description: > - This type represents an interface consumed by the producer NFV MANO - functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and path - where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by - TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as - defined by the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, - the request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the API producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - CimNotificationsFilter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - ClockSyncInfo: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - type - ServerInterfaceSecurityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by the - API producer when performing the SSL or TLS negotiation with the - API client. Valid values of cipher suites are defined in IETF - RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - ClientInterfaceSecurityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS - 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by - the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, the - request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the authorization server. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the API producer. Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - ManoServiceInterfaceTypeShortName: - description: "For the RESTful NFV-MANO APIs, valid values are all values for \"apiName\" as defined in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.\nFor the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid values are defined in table 5.6.4.3-1.\nNOTE:\tThe table is expected to be updated, by removing the corresponding listed entries, once the interfaces are specified as a RESTful NFV-MANO API. \n" - type: string - UsageStateEnumType: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - ChangeOperationalStateEnumType: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - ChangeAdministrativeStateEnumType: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - InterfaceOperationalStateEnumType: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - StopEnumType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - ManoEntityEnumType: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - PeerEntityEnumType: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - parameters: - filter.ManoServiceInterface: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ManoServiceInterface and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.CimSubscription: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.ChangeStateOpOcc: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.PeerEntity: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - exclude_default.ManoServiceInterface: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.CimSubscription: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the CimSubscription - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.ChangeStateOpOcc: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the ChangeStateOpOcc - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.PeerEntity: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - manoServiceInterfaceId: - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - changeStateOpOccId: - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - ModifyManoEntityRequest: - description: > - Parameters for the NFV-MANO configuration and information modification, - as defined in clause 5.6.2.3. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined below - this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - ChangeManoEntityStateRequest: - description: | - Parameters for the change state operation, as defined in clause 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - ModifyManoEnityInterfaceRequest: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - ChangeManoEntityInterfaceStateRequest: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - CimSubscriptionRequest: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - CreatePeerEntityRequest: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a new - peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - ModifyPeerEntityRequest: - description: > - Parameters for the modification of configuration parameters of the peer - functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity - ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - mano_entity.get.200: - description: > - 200 OK - - Shall be returned when configuration and information about the NFV-MANO - functional entity has been read successfully. The response body shall - contain a representation of the NFV-MANO functional entity, as defined - in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. - $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of - the ManoService is referred. A service may depend on - multiple components. Multiple services may depend on the - same component. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on - the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see - table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - mano_entity.patch.200: - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on the "NFV-MANO entity" resource of the producer NFV-MANO - functional entity. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain - entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - If present, this attribute signals modification of the - "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - mano_entity.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "NFV-MANO - entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interfaces.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO service - interfaces has been queried successfully. - - The response body shall contain in an array the representations of zero - or more NFV-MANO service interfaces, as defined in clause 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. - The major version is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI - GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interfaces.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.get.200: - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO service - interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interface.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" resource, - as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an Individual NFV-MANO service interface" resource. The - attributes that can be included consist of those requested to be - modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" - data structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause - 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - mano_entity-mano_interface.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-mano_interface-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that points to - the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.post.303: - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of NFV-MANO functional - entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing "Individual subscription" resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - subscriptions.get.200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method, - i.e., zero or more representations of NFV-MANO configuration and - information management subscriptions as defined in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscription.get.200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has - been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - change_state_ops.get.200: - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", as - defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request data - type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - change_state_ops.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - change_state_op.get.200: - description: > - 200 OK - - Shall be returned when information about an "Individual change state - operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change state - operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute - shall be formatted according to the request data type of the - related change state operation. - - The following mapping between operationType and the data type - of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned - in a response to reading an individual resource, and may be - present according to the chosen attribute selector parameter - if this data type is returned in a response to a query of a - container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - peer_entities.post.201: - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has been - created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that points to - the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual peer entity" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more peer entities has - been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.get.200: - description: > - 200 OK - - Shall be returned when information about an individual peer functional - entity has been read successfully. - - The response body shall contain a resource representation of the peer - functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entitie.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined in - clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an "Individual peer entity" resource. The attributes that can - be included consist of those requested to be modified explicitly - in the "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain - entries in the "consumedManoInterfaces" attribute in - "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - peer_entitie.patch.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - peer_entitie.delete.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 3680ae513..2fe757dd3 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -176,11 +176,11 @@ DELETE Subscriptions - Method not implemented POST Create a new subscription - Unprocessable Entity [Documentation] Test ID: 8.3.1.10.13 ... Test title: POST Create a new Subscription - Unprocessable Entity - ... Test objective: The objective is to test that for a POST request for a new subscription, if the test by NFV-MANO for notification endpoint fails, then error 422 will be returned. + ... Test objective: The objective is to test that a new subscription is not created if the notification endpoint is unreachable by the NFV-MANO. ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: Notification endpoint test by NFV-MANO fails. + ... Applicability: Notification endpoint is unreachable by the NFV-MANO ... Post-Conditions: none Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 -- GitLab From 4e7d4941eb296227ceb10c45007f2ce9ec85d683 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:42:54 +0500 Subject: [PATCH 032/211] consolidate all variables in variables.txt file --- .../NFVMANOPMKeywords.robot | 12 ++--- .../environment/IndividualPmJob.txt | 7 --- .../environment/individualThresholds.txt | 6 --- .../environment/notifications.txt | 12 ----- .../environment/pmJobs.txt | 5 -- .../environment/reports.txt | 7 --- .../environment/thresholds.txt | 4 -- .../environment/variables.txt | 52 ++++++++++++++++--- 8 files changed, 47 insertions(+), 58 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 19c6b5f89..dae4d96de 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -1,13 +1,7 @@ *** Settings *** Library String Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/pmJobs.txt -Resource environment/IndividualPmJob.txt -Resource environment/thresholds.txt -Resource environment/individualThresholds.txt -Resource environment/notifications.txt -Resource environment/reports.txt +Resource environment/variables.txt Library DependencyLibrary Library JSONLibrary Library OperatingSystem @@ -27,7 +21,7 @@ GET Performance Monitoring Jobs with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response @@ -46,7 +40,7 @@ GET Performance Monitoring Jobs with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt deleted file mode 100644 index 6c35d79f8..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e -${erroneousPmJobId} erroneousPmJobId -${newPmJobId} newPmJobId -${response}= httpresponse -${OrigResponse}= httpresponse -${invalid_etag} invalid etag \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt deleted file mode 100644 index 1efba79c6..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt +++ /dev/null @@ -1,6 +0,0 @@ -*** Variables *** -${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${erroneousThresholdId} erroneousThresholdId -${newThresholdId} newThresholdId -${response}= httpresponse -${origResponse}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt deleted file mode 100644 index cd1193ae5..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt +++ /dev/null @@ -1,12 +0,0 @@ -*** Variables *** -${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - -${notification_request} [] -${notification_response} [] \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt deleted file mode 100644 index 30b6682ef..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${NEG_FILTER} criteriaPmJob=erroneousAttributeName -${fields} criteria,objectInstanceIds -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt deleted file mode 100644 index 6ac5f7c0b..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 -${erroneousReportId} erroneousReportId -${newReportId} newReportId -${response}= httpresponse -${OrigResponse}= httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt deleted file mode 100644 index a2b025eef..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt +++ /dev/null @@ -1,4 +0,0 @@ -*** Variables *** -${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${FILTER_KO} criterias=erroneousFilter -${response}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index fe96b3c2a..81fa88e73 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -6,16 +6,16 @@ ${NFVMANO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 -${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint +#${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 @@ -25,16 +25,52 @@ ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} ${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${response} +${response} httpresponse ${objectInstanceIds} daca910b0-00d4f1a2b675d-604257e42 -${callbackResp} 127.0.0.1 \ No newline at end of file +${callbackResp} 127.0.0.1 + +### INDIVIDUAL PM JOBS VARIABLES ### +${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e +${erroneousPmJobId} erroneousPmJobId +${newPmJobId} newPmJobId +${OrigResponse}= httpresponse +${invalid_etag} invalid etag + +### INDIVIDUAL THRESHOLDS VARIABLES ### +${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${erroneousThresholdId} erroneousThresholdId +${newThresholdId} newThresholdId +#${origResponse}= httpresponse + +### NOTIFICATIONS VARIABLES ### +#${callback_endpoint} /endpoint +${callback_endpoint_fwd} /endpoint/check + +${notification_request} [] +${notification_response} [] + +### PM JOBS VARIABLES ### +${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${NEG_FILTER} criteriaPmJob=erroneousAttributeName +${fields} criteria,objectInstanceIds + +### REPORTS VARIABLES ### +#${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 +${erroneousReportId} erroneousReportId +${newReportId} newReportId +#${OrigResponse}= httpresponse + +### THRESHOLDS VARIABLES ### +${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${FILTER_KO} criterias=erroneousFilter -- GitLab From dd5bcf61bf090cb99be4b25f43bd9f382009bdb0 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:55:05 +0500 Subject: [PATCH 033/211] implement attribute-based filter keyword for GET method of thresholds --- .../NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot | 3 ++- .../NFVMANOPerformanceManagement-API/environment/variables.txt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index dae4d96de..6e10185a6 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -393,7 +393,8 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words}= Split String ${FILTER_OK} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 81fa88e73..6c4727ddd 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -74,3 +74,4 @@ ${newReportId} newReportId ### THRESHOLDS VARIABLES ### ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter +${SEPARATOR} = -- GitLab From 2ec39d76b1b822cea5f5138f87faf35eb28c9a4f Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Tue, 19 Oct 2021 14:44:57 +0500 Subject: [PATCH 034/211] fixed a comment for better understanding --- .../NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index d8596ba5b..f306f5281 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -227,7 +227,7 @@ Check Postcondition FaultManagement Subscription Is Set POST Subscription Duplication not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test + Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} -- GitLab From 1eee84d4b214b1fd4462f4a553e7487dfdbe068c Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:05:36 +0500 Subject: [PATCH 035/211] remove reference to old variable files --- .../IndividualPmJob.robot | 6 -- .../NFVMANOPMKeywords.robot | 75 ++++++++++++++++ .../Notifications.robot | 86 +------------------ .../PMJobs.robot | 8 -- .../Thresholds.robot | 2 - 5 files changed, 76 insertions(+), 101 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index 0059d50c4..6496b0b0d 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -1,11 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Resource environment/IndividualPmJob.txt Resource NFVMANOPMKeywords.robot -Resource ../NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual NFV-MANO Performance Job - Method not implemented diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 6e10185a6..ee9902aaf 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -7,6 +7,10 @@ Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false Library MockServerLibrary +Library Process +Library BuiltIn +Library Collections + *** Keywords *** GET all NFV-MANO Performance Monitoring Jobs @@ -655,3 +659,74 @@ DELETE API Version with apiMajorVersion Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Trigger the availability of Performance Information (external action) + #do nothing + Log do nothing + +Trigger the cross of Performance Threshold (external action) + #do nothing + Log do nothing + +Check Performance Information Available Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Performance Information Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + +Configure Notification Performance Information Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Threshold Crossed Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri} diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index 0271ff95b..7a66218ba 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -1,15 +1,7 @@ *** Setting *** -Resource environment/notifications.txt -Resource environment/variables.txt +Resource NFVMANOPMKeywords.robot Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - *** Test Cases *** Performance Information Availability Notification @@ -37,79 +29,3 @@ Threshold Crossed Notification Trigger the cross of Performance Threshold (external action) Check Threshold Crossed Notification Http POST Request Body Json Schema Is ThresholdCrossedNotification Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is ThresholdCrossedNotification - - -*** Keywords *** -Trigger the availability of Performance Information (external action) - #do nothing - Log do nothing - -Trigger the cross of Performance Threshold (external action) - #do nothing - Log do nothing - -Check Performance Information Available Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Performance Information Available Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Threshold Crossed Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - - -Check Threshold Crossed Notification Http POST Request Body changeType attribute Is - [Arguments] ${type} - #do nothing - Log do nothing - - -Configure Notification Performance Information Available Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Threshold Crossed Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 10f6c6348..2e18fabaa 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -1,13 +1,5 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/pmJobs.txt Resource NFVMANOPMKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library MockServerLibrary *** Test Cases *** POST Create new NFV-MANO Performance Monitoring Job diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 8a23c8963..c7ccddb72 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -1,6 +1,4 @@ *** Settings *** -Resource environment/variables.txt # Generic Parameters -Resource environment/thresholds.txt Resource NFVMANOPMKeywords.robot *** Test Cases *** -- GitLab From 7f595c5727262178f4c5a80acbaf63ae92dc283f Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:34:12 +0500 Subject: [PATCH 036/211] modify POST requests of subscriptions to check for duplication --- .../NFVMANOLogManagementKeywords.robot | 14 ++++++++++++++ .../NFVMANOLogManagement-API/Subscriptions.robot | 4 ++-- .../environment/variables.txt | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index ee073a7f7..0639eef0a 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -479,6 +479,20 @@ Check Postcondition Subscription Is Set Check HTTP Response Status Code Is 200 Send Post Request for Duplicated Subscription + Log POST request for duplicated subscription + Pass Execution If ${NFVMANO_ALLOWS_DUPLICATE_SUBS}==0 Skipping test as duplicate subscription is not enabled + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for No Duplicated Subscription + Log POST request for duplicated subscription + Pass Execution If ${NFVMANO_ALLOWS_DUPLICATE_SUBS}==1 Skipping test as duplicate subscription is enabled Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index bcb37a538..a083876f1 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -142,7 +142,7 @@ POST Create request for duplicated Subscription not creating duplicated subscrip ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO - Send Post Request for Duplicated Subscription + Send Post Request for No Duplicated Subscription Check HTTP Response Status Code Is 303 Check HTTP Response Body Is Empty Check HTTP Response Header Contains Location @@ -210,5 +210,5 @@ POST Create new Subscription - Unprocessable entity ... Applicability: Notification endpoint is unreachable by the NFV-MANO. ... Post-Conditions: none Send Post Request for Subscription with unreachable callbackUri - Check HTTP Response Status Code Is 201 + Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index dc7f3f08f..c45c951ef 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -19,7 +19,7 @@ ${AUTH_USAGE} 1 #${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 -- GitLab From c7074d3a3c5855386b64bd13ffbcef825677d86c Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:50:33 +0500 Subject: [PATCH 037/211] consolidate all keywords in one file for Log Mgmt --- .../NFVMANOLogManagement-API/ApiVersion.robot | 88 +----------- .../CompileLogTask.robot | 5 - .../IndividualLoggingJob.robot | 5 - .../IndividualReport.robot | 5 - .../IndividualSubscription.robot | 5 - .../LoggingJobs.robot | 5 - .../NFVMANOLogManagementKeywords.robot | 136 +++++++++++++++++- .../NotificationEndpoint.robot | 33 +---- .../Notifications.robot | 58 +------- .../Subscriptions.robot | 7 - 10 files changed, 139 insertions(+), 208 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot index 61144e06e..180a90ed6 100644 --- a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource NFVMANOLogManagementKeywords.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot index 7fba31e08..1740de0f9 100644 --- a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot +++ b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** diff --git a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot index 130d0c2ad..bab3daa57 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual Logging Job - Method not implemented diff --git a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot index a261e591b..19ba07bc6 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual Log Report - Method not implemented diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot index edd620e45..d626639f2 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -1,9 +1,4 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary Resource NFVMANOLogManagementKeywords.robot *** Test Cases *** diff --git a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot index 62fc7b88f..1d5c86df1 100644 --- a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot +++ b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Create a new logging job diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index 0639eef0a..e3bc90beb 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -605,4 +605,138 @@ Send Patch request for individual Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} \ No newline at end of file + Set Suite Variable @{response} ${output} + +Trigger the availability of Log Report (external action) + #do nothing + Log do nothing + +Check Log Report Available Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Log Report Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Log Report Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Configure Notification Log Report Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions for Notifications + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +Check resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body LogmSubscription.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +Post Log Report Available Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LogReportAvailableNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot index 06d258e56..aa4a4906f 100644 --- a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String +Resource NFVMANOLogManagementKeywords.robot Suite Setup Check resource existence and get CallbackUri *** Test Cases *** @@ -19,29 +14,3 @@ Log Report Available Notification ... Post-Conditions: none Post Log Report Available Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body LogmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Post Log Report Available Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/LogReportAvailableNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOLogManagement-API/Notifications.robot b/SOL009/NFVMANOLogManagement-API/Notifications.robot index ebba57878..62cd0a402 100644 --- a/SOL009/NFVMANOLogManagement-API/Notifications.robot +++ b/SOL009/NFVMANOLogManagement-API/Notifications.robot @@ -1,14 +1,7 @@ *** Setting *** -Resource environment/variables.txt -Suite Setup Create Sessions +Resource NFVMANOLogManagementKeywords.robot +Suite Setup Create Sessions for Notifications Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - *** Test Cases *** Log Report Avaliable Notification @@ -23,50 +16,3 @@ Log Report Avaliable Notification Trigger the availability of Log Report (external action) Check Log Report Available Notification Http POST Request Body Json Schema Is LogReportAvailableNotification Check Log Report Available Notification Http POST Request Body notificationType attribute Is LogReportAvailableNotification -*** Keywords *** -Trigger the availability of Log Report (external action) - #do nothing - Log do nothing - - -Check Log Report Available Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Log Report Available Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Log Report Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Threshold Crossed Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Configure Notification Log Report Available Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index a083876f1..7ba7065fd 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -1,12 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary Resource NFVMANOLogManagementKeywords.robot -Library MockServerLibrary -Library Process Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true -- GitLab From 7244a5ad065b5a6a4d53245f7ab36aecdbbfe72a Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 16:23:27 +0500 Subject: [PATCH 038/211] consolidate all keywords in one FM keywords file --- .../NFVMANOFaultManagement-API/Alarms.robot | 7 +- .../ApiVersion.robot | 88 +------ .../FaultManagement-APIKeyword.robot | 223 +++++++++++++++++- .../IndividualAlarm.robot | 6 - .../IndividualSubscription.robot | 6 +- .../NotificationEndpoint.robot | 56 +---- .../Notifications.robot | 109 +-------- .../Subscriptions.robot | 6 - .../environment/variables.txt | 6 +- 9 files changed, 226 insertions(+), 281 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/Alarms.robot b/SOL009/NFVMANOFaultManagement-API/Alarms.robot index 70e01f5eb..36cc36a50 100644 --- a/SOL009/NFVMANOFaultManagement-API/Alarms.robot +++ b/SOL009/NFVMANOFaultManagement-API/Alarms.robot @@ -1,10 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Resource FaultManagement-APIKeyword.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library OperatingSystem +Resource FaultManagement-APIKeyword.robot *** Test Cases *** POST Alarms - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot index 85f1048e1..c7f5aff28 100644 --- a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource FaultManagement-APIKeyword.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index f306f5281..4d1427ddf 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -5,12 +5,12 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem - - +Library Collections +Library MockServerLibrary Library Process -*** Variables *** -${original_etag} 1234 +# *** Variables *** +# ${original_etag} 1234 *** Keywords *** @@ -499,4 +499,217 @@ GET Fault Management Alarms with expired or revoked authorization token Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file + Set Suite Variable ${response} ${output} + +Check resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body FmSubscription.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +Post Alarm Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} managedObjectId=${managedObjectId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Alarm Cleared Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmClearedNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Alarm List Rebuilt Notification + log Trying to perform a POST to get notifications + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmListRebuiltNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Trigger the fault of a virtualised resource in the NFV-MANO instance (external action) + #do nothing + Log do nothing + +Trigger the clear of a faulty virtualised resource in the NFV-MANO instance (external action) + #do nothing + Log do nothing + +Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) + #do nothing + Log do nothing + +Check Alarm List Rebuilt Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Alarm List Rebuilt Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm List Rebuilt Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Alarm Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Alarm Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Alarm cleared Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Check Alarm cleared Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm Cleareance Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + + +Check Alarm Clerance Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + + +Configure Notification Alarm List Rebuilt Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Alarm Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Alarm Cleareance Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot index f9fcd703c..2012cba47 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot @@ -1,11 +1,5 @@ *** Settings *** -Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} -Library OperatingSystem -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library DependencyLibrary *** Test Cases *** POST Individual Alarm - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot index bbae7b20e..95766e74f 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Resource FaultManagement-APIKeyword.robot -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} +Resource FaultManagement-APIKeyword.robot *** Test Cases *** Post Individual Subscription - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot index bb386db9a..8d5adef58 100644 --- a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String +Resource FaultManagement-APIKeyword.robot Suite Setup Check resource existence and get CallbackUri *** Test Cases *** @@ -43,52 +38,3 @@ Alarm List Rebuilt Notification ... Post-Conditions: none Post Alarm List Rebuilt Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body FmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Post Alarm Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} managedObjectId=${managedObjectId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Post Alarm Cleared Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmClearedNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Post Alarm List Rebuilt Notification - log Trying to perform a POST to get notifications - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmListRebuiltNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - diff --git a/SOL009/NFVMANOFaultManagement-API/Notifications.robot b/SOL009/NFVMANOFaultManagement-API/Notifications.robot index 16f21d195..c1ca7346f 100644 --- a/SOL009/NFVMANOFaultManagement-API/Notifications.robot +++ b/SOL009/NFVMANOFaultManagement-API/Notifications.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library MockServerLibrary -Library Process -Library OperatingSystem -Library Collections +Resource FaultManagement-APIKeyword.robot Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true @@ -47,106 +43,3 @@ NFV-MANO Fault Alarm List Rebuilt Notification Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) Check Alarm list rebuilt Notification Http POST Request Body Json Schema Is alarmListRebuiltNotification Check Alarm list rebuilt Notification Http POST Request Body notificationType attribute Is alarmListRebuiltNotification - - -*** Keywords *** -Trigger the fault of a virtualised resource in the NFV-MANO instance (external action) - #do nothing - Log do nothing - -Trigger the clear of a faulty virtualised resource in the NFV-MANO instance (external action) - #do nothing - Log do nothing - -Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) - #do nothing - Log do nothing - -Check Alarm List Rebuilt Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Alarm List Rebuilt Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm List Rebuilt Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Alarm Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Alarm Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Alarm cleared Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check Alarm cleared Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm Cleareance Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - - -Check Alarm Clerance Notification Http POST Request Body changeType attribute Is - [Arguments] ${type} - #do nothing - Log do nothing - - -Configure Notification Alarm List Rebuilt Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Alarm Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Alarm Cleareance Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index fb9e7b27b..baf21e676 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -1,11 +1,5 @@ *** Settings *** -Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library DependencyLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} -Library OperatingSystem -Library JSONLibrary -Library JSONSchemaLibrary schemas/ *** Test Cases *** POST Create a new Fault Management alarm subscription diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index fb12e380f..af9adaacd 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -44,12 +44,12 @@ ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check #${callback_endpoint_error} /endpoint_404 #${sleep_interval} 20s -#${total_polling_time} 2 min -#${polling_interval} 10 sec +${total_polling_time} 2 min +${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -#${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${MOCK_SERVER_JAR} ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callbackResp} 127.0.0.1 \ No newline at end of file -- GitLab From 8f76d7997bca3e9bbcd6722d370233df832e58fa Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 20 Oct 2021 11:29:19 +0500 Subject: [PATCH 039/211] changed phrasing of a keyword for better comprehensibility --- .../NFVMANOPMKeywords.robot | 6 +++--- SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index ee9902aaf..f95ecbb11 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -118,7 +118,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -Send Post Request Create new NFV-MANO Performance Monitoring Job +Send Post Request to create new NFV-MANO Performance Monitoring Job Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} @@ -130,8 +130,8 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job ${output}= Output response Set Suite Variable ${response} ${output} -Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint - Log Creating a new PM Job +Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint + Log Creating a new PM Job for unreachable notification endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 2e18fabaa..0c795911b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -11,7 +11,7 @@ POST Create new NFV-MANO Performance Monitoring Job ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is successfully created on the NFV-MANO - Send Post Request Create new NFV-MANO Performance Monitoring Job + Send Post Request to create new NFV-MANO Performance Monitoring Job Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PmJob Check Postcondition PmJob Exists @@ -240,6 +240,6 @@ POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification E ... Config ID: Config_prod_NFV-MANO ... Applicability: Notification endpoint is unreachable by the NFV-MANO. ... Post-Conditions: none - Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails -- GitLab From d7e4b0f1435c25b03aec3a0007ae9bd8d8b2b80b Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 20 Oct 2021 11:48:42 +0500 Subject: [PATCH 040/211] update Content-Type header in PATCH requests or Individual PMJob and Threshold --- .../NFVMANOPMKeywords.robot | 7 +++++-- .../environment/variables.txt | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index f95ecbb11..41dcec46b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -271,7 +271,7 @@ Send Put request for individual NFV-MANO Performance Job Send Patch request for individual NFV-MANO Performance Job Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json @@ -283,7 +283,7 @@ Send Patch request for individual NFV-MANO Performance Job Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint @@ -451,6 +451,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} @@ -465,6 +466,7 @@ Send Patch request for individual Performance Threshold Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint @@ -480,6 +482,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 6c4727ddd..15cacd5bc 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -10,6 +10,7 @@ ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json +${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 -- GitLab From 12b2a8be2d7439aa8f7c77dbf44cc4fc07c63e2c Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:05:50 +0500 Subject: [PATCH 041/211] comment out unused variables --- SOL002/VNFConfiguration-API/environment/variables.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index 0d4c026b1..bc6fd2709 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -19,8 +19,4 @@ ${apiRoot} / ${apiName} vnfconfig ${apiMajorVersion} v1 -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX - - - - +#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX \ No newline at end of file -- GitLab From 8bafea436d711901763975a700a25a180bfabeb5 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:09:02 +0500 Subject: [PATCH 042/211] comment out unused variables --- .../environment/variables.txt | 12 +++++------- .../Notifications.robot | 4 ++-- .../environment/notifications.txt | 4 ++-- .../environment/variables.txt | 6 +++--- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index ace498e55..6fb4e3772 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -11,29 +11,27 @@ ${apiName} vnfpm ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken +#${NEG_AUTHORIZATION} Bearer negativetoken ${FIELD_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${AUTH_USAGE} 1 -${VNFM_DUPLICATION} 1 +#${VNFM_DUPLICATION} 1 ${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ${callback_uri} http://localhost ${unreachable_callback_uri} http://not-reachable-uri ${new_callback_uri} http://newcallbackuri-for-PMJobModifications ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${response} http-response ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${subscribe} /subscribe - - +#${subscribe} /subscribe ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId diff --git a/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot b/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot index 195525e9a..7c1c24008 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot +++ b/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot @@ -56,7 +56,7 @@ Check Performance Information Available Notification Http POST Request Body Json Check Performance Information Available Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -69,7 +69,7 @@ Check Threshold Crossed Notification Http POST Request Body Json Schema Is Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt index cd1193ae5..df0ade768 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt @@ -3,8 +3,8 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt index 9445631a5..1d1cb159c 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt @@ -2,6 +2,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From b5ab83b028db64179ae0b7924ed0bec6fc97e97a Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:12:28 +0500 Subject: [PATCH 043/211] comment out unused variables --- SOL002/VNFIndicator-API/environment/variables.txt | 8 ++++---- SOL002/VNFIndicatorNotification-API/Notifications.robot | 2 +- .../environment/variables.txt | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index 83f2ed87b..8c1db1d2c 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** -${PRODUCER_HOST} localhost -${PRODUCER_PORT} 8081 -${PRODUCER_SCHEMA} https +#${PRODUCER_HOST} localhost +#${PRODUCER_PORT} 8081 +#${PRODUCER_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken @@ -49,7 +49,7 @@ ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value -${vnfIndicators} = +#${vnfIndicators} = ${VAR_SEPERATOR} & ${callbackResp} localhost \ No newline at end of file diff --git a/SOL002/VNFIndicatorNotification-API/Notifications.robot b/SOL002/VNFIndicatorNotification-API/Notifications.robot index 8f0c9bc8e..99a055232 100644 --- a/SOL002/VNFIndicatorNotification-API/Notifications.robot +++ b/SOL002/VNFIndicatorNotification-API/Notifications.robot @@ -51,7 +51,7 @@ Check Indicator Value Change Notification Http POST Request Body Json Schema Is Check Indicator Value Change Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Indicator Value Change Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFIndicatorNotification-API/environment/variables.txt b/SOL002/VNFIndicatorNotification-API/environment/variables.txt index ad6eeadd7..39519809b 100644 --- a/SOL002/VNFIndicatorNotification-API/environment/variables.txt +++ b/SOL002/VNFIndicatorNotification-API/environment/variables.txt @@ -4,11 +4,11 @@ ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From 23bb28cdc7a3a7ece2583927ea9b089180c40c09 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:40:38 +0500 Subject: [PATCH 044/211] update versions to 3.5.1 --- SOL002/README.md | 2 +- SOL002/VNFIndicator-API/ApiVersion.robot | 20 ++++++------- .../IndividualSubscription.robot | 14 +++++----- .../IndividualVNFindicator.robot | 24 ++++++++-------- .../NotificationEndpoint.robot | 14 +++++----- SOL002/VNFIndicator-API/README.md | 4 +-- SOL002/VNFIndicator-API/Subscriptions.robot | 28 +++++++++---------- SOL002/VNFIndicator-API/VNFIndicators.robot | 26 ++++++++--------- .../VnfIndicatorsInVnfInstanceId.robot | 20 ++++++------- 9 files changed, 76 insertions(+), 76 deletions(-) diff --git a/SOL002/README.md b/SOL002/README.md index a530db164..7d16d43f3 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_nfv-sol002v030501p.pdf diff --git a/SOL002/VNFIndicator-API/ApiVersion.robot b/SOL002/VNFIndicator-API/ApiVersion.robot index 27451adeb..009e8f533 100644 --- a/SOL002/VNFIndicator-API/ApiVersion.robot +++ b/SOL002/VNFIndicator-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualSubscription.robot b/SOL002/VNFIndicator-API/IndividualSubscription.robot index ea2a8d777..b6341cb92 100644 --- a/SOL002/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL002/VNFIndicator-API/IndividualSubscription.robot @@ -10,7 +10,7 @@ GET Individual VNF Indicator Subscription ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test that the retrieval of individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -36,7 +36,7 @@ DELETE Individual VNF Indicator Subscription ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test the deletion of an individual VNF performance indicator subscription. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: The subscription to VNF performance indicators is deleted @@ -49,7 +49,7 @@ DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test that the deletion of an individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -74,7 +74,7 @@ PATCH Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -86,7 +86,7 @@ POST Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot index 037704350..e4a2b6c93 100644 --- a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot @@ -9,7 +9,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get individual performance indicator for a VNF instance ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get individual performance indicator for a VNF instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual VNF Indicator - Method not implemented ... Test title: POST individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual VNF Indicator - Method not implemented ... Test title: PUT individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual VNF Indicator - Method not implemented ... Test title: PATCH individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual VNF Indicator - Method not implemented ... Test title: DELETE individual performance indicator indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -85,7 +85,7 @@ Get Individual Performance Indicator ... Test title: Get Individual Performance Indicator ... Test objective: The objective is to test the retrieval of a performance indicator and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: At least one measure of performance indicator is available.. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -99,7 +99,7 @@ Get Individual Performance Indicator with invalid indicator identifier ... Test title: Get Individual Performance Indicator with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: At least one measure of performance indicator is available. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -112,7 +112,7 @@ POST Individual Performance Indicator - Method not implemented ... Test title: POST Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -124,7 +124,7 @@ PUT Individual Performance Indicator - Method not implemented ... Test title: PUT Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -136,7 +136,7 @@ PATCH Individual Performance Indicator - Method not implemented ... Test title: PATCH Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -148,7 +148,7 @@ DELETE Individual Performance Indicator - Method not implemented ... Test title: DELETE Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/NotificationEndpoint.robot b/SOL002/VNFIndicator-API/NotificationEndpoint.robot index 334efd895..900d42818 100644 --- a/SOL002/VNFIndicator-API/NotificationEndpoint.robot +++ b/SOL002/VNFIndicator-API/NotificationEndpoint.robot @@ -12,7 +12,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test that the POST request triggers VNF Indicator Value Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Supported Indicators Change Notification ... Test title: Supported Indicators Change Notification ... Test objective: The objective is to test that the POST request triggers Supported Indicators Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for supported indicators change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ Test the Notification Endpoint - NOT FOUND ... Test title: Test the Notification Endpoint - UNREACHABLE ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: The notification endpoint is unreachable by the API producer. ... Post-Conditions: none @@ -61,7 +61,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/README.md b/SOL002/VNFIndicator-API/README.md index f5f7677f5..f87dca1d8 100644 --- a/SOL002/VNFIndicator-API/README.md +++ b/SOL002/VNFIndicator-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI STF 557. +This is a development folder for ETSI TTF T015. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2018 +Copyright (c) ETSI 2021 diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index ba59c8166..1d4029333 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET VNF Indicators Subscriptions ... Test title: GET VNF Indicators Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -29,7 +29,7 @@ GET VNF Indicators Subscriptions with attribute-based filter ... Test title: GET VNF Indicators Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions using attribute-based filter and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -43,7 +43,7 @@ GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Indicators Subscriptions with invalid resource endpoint ... Test title: GET VNF Indicators Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF indicator subscription ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -84,7 +84,7 @@ PUT VNF Indicator Subscriptions - Method not implemented ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -96,7 +96,7 @@ PATCH VNF Indicator Subscriptions - Method not implemented ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -108,7 +108,7 @@ DELETE VNF Indicator Subscriptions - Method not implemented ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -120,7 +120,7 @@ GET VNF Indicators Subscriptions to get Paged Response ... Test title: GET VNF Indicators Subscriptions to get Paged Response ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions to get Paged Response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -133,7 +133,7 @@ GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test title: GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -146,7 +146,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ Create new VNF indicator Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null @@ -173,7 +173,7 @@ Create new VNF indicator Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null @@ -181,7 +181,7 @@ Create new VNF indicator Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - *** Keywords *** +*** Keywords *** Get VNF Indicators Subscriptions Log Trying to get the list of subscriptions Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 0a53a03b2..5393403eb 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -12,7 +12,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -39,7 +39,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -52,7 +52,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: GET all VNF Indicators with malformed authrization token. ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -65,7 +65,7 @@ Get all VNF Indicators without authorization token ... Test title: GET all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -78,7 +78,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -91,7 +91,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: GET all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -104,7 +104,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -140,7 +140,7 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -152,7 +152,7 @@ Get VNF Indicators to get Paged Response ... Test title: Get VNF Indicators to get Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF indicators with Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -165,7 +165,7 @@ Get VNF Indicators - Bad Request Response too Big ... Test title: Get VNF Indicators - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF indicators fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 751f102fc..22d36334c 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -12,7 +12,7 @@ Get Indicators for VNF Instance ... Test title: Get all performance indicators for a VNF instance ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Indicators for VNF Instance with attribute-based filter ... Test title: Get all performance indicators for a VNF instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -40,7 +40,7 @@ Get Indicators for VNF Instance with invalid attribute-based filter ... Test title: Get all performance indicators for a VNF instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -53,7 +53,7 @@ Get Indicators for VNF Instance with invalid resource identifier ... Test title: Get all performance indicators for a VNF instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -66,7 +66,7 @@ POST Indicators for VNF instance - Method not implemented ... Test title: POST performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -78,7 +78,7 @@ PUT Indicators for VNF instance - Method not implemented ... Test title: PUT performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Indicators for VNF instance - Method not implemented ... Test title: PATCH performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -102,7 +102,7 @@ DELETE Indicators for VNF instance - Method not implemented ... Test title: DELETE performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -114,7 +114,7 @@ Get Indicators for VNF Instance to get Paged Response ... Test title: Get Indicators for VNF Instance to get Paged Response ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance to get paged response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -127,7 +127,7 @@ Get Indicators for VNF Instance - Bad Request Response too Big ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none -- GitLab From 450a52fc9b49fc01fac7534ac45306b5ba58230b Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:45:02 +0500 Subject: [PATCH 045/211] update versions to 3.5.1 --- SOL002/VNFConfiguration-API/ApiVersion.robot | 20 +++++++++---------- .../VNFConfiguration-API/Configuration.robot | 14 ++++++------- SOL002/VNFConfiguration-API/README.md | 4 ++-- SOL002/VNFIndicator-API/Subscriptions.robot | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/SOL002/VNFConfiguration-API/ApiVersion.robot b/SOL002/VNFConfiguration-API/ApiVersion.robot index b07352770..55a641360 100644 --- a/SOL002/VNFConfiguration-API/ApiVersion.robot +++ b/SOL002/VNFConfiguration-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFConfiguration-API/Configuration.robot b/SOL002/VNFConfiguration-API/Configuration.robot index 870974463..5a0765fd3 100644 --- a/SOL002/VNFConfiguration-API/Configuration.robot +++ b/SOL002/VNFConfiguration-API/Configuration.robot @@ -12,7 +12,7 @@ Set new VNF Configuration ... Test title: Set a new VNF Configuration ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -28,7 +28,7 @@ Get information about a VNF configuration ... Test title: Get information about a VNF configuration ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Get information about a VNF configuration with HTTP Etag ... Test title: Get information about a VNF configuration with HTTP Etag ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration, check the generation by the VNF of an HTTP Etag opaque identifier, and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: none @@ -57,7 +57,7 @@ Set new VNF Configuration - HTTP Etag precondition unsuccessful ... Test title: Set a new VNF Configuration - HTTP Etag precondition unsuccessful ... Test objective: The objective is to test the unsuccess in setting a duplication of VNF configuration identified by an already used HTTP Etag identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured (Test ID 6.3.1.1.1) with a given HTTP Etag identifier. - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The VNF configuration is not modified by the unsuccessful operation and it matches the configuration issued in Test ID 6.3.1.1.1 @@ -71,7 +71,7 @@ POST VNF Configuration - Method not implemented ... Test title: POST VNF Configuration - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ PUT VNF Configuration - Method not implemented ... Test title: PUT VNF Configuration - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ DELETE VNF Configuration - Method not implemented ... Test title: Delete VNF Configuration - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFConfiguration-API/README.md b/SOL002/VNFConfiguration-API/README.md index f5f7677f5..08f2afbea 100644 --- a/SOL002/VNFConfiguration-API/README.md +++ b/SOL002/VNFConfiguration-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI STF 557. +This is a development folder for TTF T015. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2018 +Copyright (c) ETSI 2021 \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index ba59c8166..721ad0acf 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -181,7 +181,7 @@ Create new VNF indicator Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - *** Keywords *** +*** Keywords *** Get VNF Indicators Subscriptions Log Trying to get the list of subscriptions Set Headers {"Accept": "${ACCEPT_JSON}"} -- GitLab From c9fb11ce08bfc62228c02a247ceb281fed397ed0 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:56:56 +0500 Subject: [PATCH 046/211] update versions to 3.5.1 --- .../ApiVersion.robot | 20 ++++++------ .../IndividualPmJob.robot | 18 +++++------ .../IndividualReport.robot | 12 +++---- .../IndividualThreshold.robot | 18 +++++------ .../NotificationEndpoint.robot | 4 +-- .../VNFPerformanceManagement-API/PMJobs.robot | 32 +++++++++---------- .../Thresholds.robot | 22 ++++++------- .../environment/variables.txt | 2 -- 8 files changed, 63 insertions(+), 65 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot index c85bbab47..a9fef7b0d 100644 --- a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot +++ b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot index 9efe99998..4972093e8 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -13,7 +13,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -53,7 +53,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Individual VNF Performance Job ... Test title: PATCH Individual VNF Performance Job ... Test objective: The objective is to test that PATCH method allows to modify an exsisting individual PM job resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ PATCH Individual VNF Performance Job - Precondition failed ... Test title: PATCH Individual VNF Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -117,7 +117,7 @@ PATCH Individual VNF Performance Job - UNPROCESSIBLE ENTITY ... Test title: PATCH Individual VNF Performance Job - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot index fbaf31ae6..b012a52c1 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot @@ -10,7 +10,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot index 3b1ede734..69ebf6916 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -52,7 +52,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not created on the VNFM @@ -77,7 +77,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method allows to modify an Individual threshold resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -102,7 +102,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Preconition failed ... Test objective: The objective is to attempt to modify an individual threshold resource, where the precondition was not met. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -116,7 +116,7 @@ PATCH Individual Threshold - Unprocessible Entity ... Test title: PATCH Individual Threshold - Unprocessible Entity ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: The VNF Performance Threshold is not modified by the operation diff --git a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot index ef27080ce..8c6bb1faa 100644 --- a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test that VNF Performance Information Availability Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test that VNF Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for Threshold Crossed Notification is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index 8de51eb61..a529de0c5 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -12,7 +12,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -81,7 +81,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -95,7 +95,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ POST Create new VNF Performance Monitoring Job - SUCCESSFUL ... Test title: POST Create a new VNF Performance Monitoring Job - SUCCESSFUL ... Test objective: The objective is to test that the POST method creates a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -135,7 +135,7 @@ PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -147,7 +147,7 @@ PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ GET VNF Performance Monitoring Jobs to get Paged Response ... Test title: GET VNF Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs to get Paged response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -184,7 +184,7 @@ GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test title: GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about VNF Performance Monitoring when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -197,7 +197,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default and fields attribut ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default and fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs with exclude_default and fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -210,7 +210,7 @@ POST Create new VNF Performance Monitoring Job - UNPROCESSIBLE ENTITY ... Test title: POST Create a new VNF Performance Monitoring Job - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that the POST method cannot create a new VNF performance monitoring job when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index 9f9c31401..782e11fab 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -12,7 +12,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Create new Performance Threshold ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test that the POST method creates a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -80,7 +80,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Performance Thresholds with Paged Response ... Test title: GET Performance Thresholds with Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds with Paged response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Performance Thresholds for Bad Request Response too big ... Test title: GET Performance Thresholds for Bad Request Response too big ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ POST Create new Performance Threshold - UNPROCESSIBLE ENTITY ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test that the POST method does not create a new VNF performance threshold when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index 6fb4e3772..f471f9f0f 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -7,7 +7,6 @@ ${apiRoot} / ${apiMajorVersion} v2 ${apiName} vnfpm - ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json @@ -51,7 +50,6 @@ ${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 ${erroneousReportId} erroneousReportId ${newReportId} newReportId - ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter -- GitLab From 757cb209435d0b245e2002319a086d2df97e978e Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 14:29:57 +0500 Subject: [PATCH 047/211] update version to 3.5.1 in README file --- SOL002/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/README.md b/SOL002/README.md index a530db164..c926de30d 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf -- GitLab From 982b76896ba4df56e1a347fd9076932f61199a08 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 14:33:01 +0500 Subject: [PATCH 048/211] update version to 3.5.1 in README file --- SOL002/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/README.md b/SOL002/README.md index a530db164..c926de30d 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf -- GitLab From 151fd166d01fdded9f2506df3a111b939d4f0bef Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 16:07:44 +0500 Subject: [PATCH 049/211] update version to v3.5.1 in README file --- SOL002/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/README.md b/SOL002/README.md index a530db164..c926de30d 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf -- GitLab From e6084886e7551147eab6552b714a2f0d03b2d77d Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 16:48:31 +0500 Subject: [PATCH 050/211] update README file --- SOL002/VNFIndicator-API/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFIndicator-API/README.md b/SOL002/VNFIndicator-API/README.md index f87dca1d8..1e5d7e566 100644 --- a/SOL002/VNFIndicator-API/README.md +++ b/SOL002/VNFIndicator-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTF T015. +This is a development folder for ETSI STF 557. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2021 +Copyright (c) ETSI 2018 \ No newline at end of file -- GitLab From cb45ab6614d95e24c5acaf6c7571c4a5d6aea026 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 16:51:04 +0500 Subject: [PATCH 051/211] update README file --- SOL002/VNFLCMCoordination-API/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md index d35b2a100..1e5d7e566 100644 --- a/SOL002/VNFLCMCoordination-API/README.md +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTF T015. +This is a development folder for ETSI STF 557. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2021 \ No newline at end of file +Copyright (c) ETSI 2018 \ No newline at end of file -- GitLab From 31e40903f16d80cafbaea7fb17bacc2986fe33aa Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Thu, 21 Oct 2021 13:06:01 +0500 Subject: [PATCH 052/211] minor fixes --- .../CancelCoordinationActionTask.robot | 2 +- .../VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot | 6 +++--- SOL002/VNFLCMCoordination-API/environment/variables.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot index 1ab88fbde..be0c501dd 100644 --- a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -32,7 +32,7 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict ... Config ID: Config_prod_VE ... Applicability: Processing of Individual Coordination Action has 'Finished'. ... Post-Condition: none - POST Cancellation of an Ongoing Individual Coordination Action not Applicable + POST Cancellation of an Ongoing Individual Coordination Action - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index e79fb0209..097fe0fa7 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -89,7 +89,7 @@ POST Cancellation of an Ongoing Individual Coordination Action ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -POST Cancellation of an Ongoing Individual Coordination Action not Applicable +POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -147,7 +147,7 @@ Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Wi Should Not Be Empty ${delayTime} Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -159,7 +159,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Set Global Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode - Pass Execution If ${synchronous_mode} == 1 The API producer is in Synchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index cd36ffa9e..3533ae3fa 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -1,12 +1,12 @@ *** Variables *** -${synchronous_mode} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. +${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. ${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. ${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. -- GitLab From a38f60892c6afd611cdc9b84bc1cf90c28a82317 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Thu, 21 Oct 2021 18:49:59 +0500 Subject: [PATCH 053/211] minor fixes --- .gitignore | 1 + SOL002/VNFLCMCoordination-API/Coordinations.robot | 2 +- .../VNFLCMCoordinationKeywords.robot | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1b6e272e0..94620f93e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +/.vscode \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index fea972ffe..1e1077202 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -60,7 +60,7 @@ POST Coordination of LCM Operation Occurance Conflict ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. ... Post-Condition: none - Post coordination of LCM operation Occurance + Post coordination of LCM operation Occurance - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 097fe0fa7..f46ec8bcb 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -39,7 +39,7 @@ GET Individual LCM Operation Coordination Results Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -48,8 +48,8 @@ GET Individual LCM Operation Coordination Results of Ongoing Coordination Action Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${ongoing_coordination_action_id} - ${outputResponse}= Output response${ongoing_coordination_action_id} + Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} + ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results @@ -170,7 +170,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -Post coordination of LCM operation Occurance +Post coordination of LCM operation Occurance - Conflict Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -207,7 +207,7 @@ PUT coordination of LCM operation Occurance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -- GitLab From c458ae885df623854ff47b7fc295d075054abce4 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 17:04:19 +0200 Subject: [PATCH 054/211] updated SOL005 VNF Snapshot refs to v3.5.1 --- ...essConfigurationForExternalArtifacts.robot | 12 ++++---- .../BuildVNFSnapshotPackageContentTask.robot | 12 ++++---- ...ancelVNFSnapshotPackageOperationTask.robot | 12 ++++---- ...ExtractVNFSnapshotPackageContentTask.robot | 14 ++++----- .../IndividualVNFSnapshotPackage.robot | 16 +++++----- ...IndividualVNFSnapshotPackageArtifact.robot | 20 ++++++------- .../UploadVNFSnapshotPackageFromUriTask.robot | 12 ++++---- .../VNFSnapshotPackageContent.robot | 20 ++++++------- .../VNFSnapshotPackages.robot | 30 +++++++++---------- 9 files changed, 74 insertions(+), 74 deletions(-) diff --git a/SOL005/VNFSnapshotPackageManagement-API/AccessConfigurationForExternalArtifacts.robot b/SOL005/VNFSnapshotPackageManagement-API/AccessConfigurationForExternalArtifacts.robot index 47e424066..a1dfe4cfb 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/AccessConfigurationForExternalArtifacts.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/AccessConfigurationForExternalArtifacts.robot @@ -7,7 +7,7 @@ POST Access Configuration for External Artifacts - Method not implemented ... Test title: POST Access Configuration for External Artifacts - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: Individual VNF Snapshot Package resource have been created. - ... Reference: Clause 11.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Access Configuration for External Artifacts ... Test title: GET Access Configuration for External Artifacts ... Test objective: The objective is to test that GET method reads the access configuration information that is used by the NFVO to get the content of external VNF snapshot package artifacts. ... Pre-conditions: Individual VNF Snapshot Package resource have been created. - ... Reference: Clause 11.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT Access Configuration for External Artifacts ... Test title: PUT Access Configuration for External Artifacts ... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts. ... Pre-conditions: Individual VNF Snapshot Package resource have been created. - ... Reference: Clause 11.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Access Configuration for External Artifacts - Conflict ... Test title: PUT Access Configuration for External Artifacts - Conflict ... Test objective: The objective is to test that PUT method cannot provide the access configuration information to the NFVO when the VNF Snapshot Package resource is not in CREATED or ERROR state. ... Pre-conditions: Individual VNF Snapshot Package resource have been created. - ... Reference: Clause 11.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "state" attribute of the "Individual VNF snapshot package" resources contains a value different from "CREATED" or "ERROR". ... Post-Conditions: none @@ -58,7 +58,7 @@ PATCH Access Configuration for External Artifacts - Method Not implemented ... Test title: PATCH Access Configuration for External Artifacts - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ DELETE Access Configuration for External Artifacts - Method Not implemented ... Test title: DELETE Access Configuration for External Artifacts - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/BuildVNFSnapshotPackageContentTask.robot b/SOL005/VNFSnapshotPackageManagement-API/BuildVNFSnapshotPackageContentTask.robot index 6bd1a6e31..821a590af 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/BuildVNFSnapshotPackageContentTask.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/BuildVNFSnapshotPackageContentTask.robot @@ -7,7 +7,7 @@ POST Build VNF Snapshot Package Content Task ... Test title: POST Build VNF Snapshot Package Content Task ... Test objective: The objective is to test that POST method provides the information for the NFVO to start building the content of a VNF snapshot package. ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ POST Build VNF Snapshot Package Content Task - Conflict ... Test title: POST Build VNF Snapshot Package Content Task - Conflict ... Test objective: The objective is to test that a correct error code is returned when the POST method tries to intiate building of VNF Snapshot Package and the state of the VNF snapshot package resource is other than "CREATED". ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is other than "CREATED". ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Build VNF Snapshot Package Content Task - Method Not implemented ... Test title: GET Build VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PUT Build VNF Snapshot Package Content Task - Method Not implemented ... Test title: PUT Build VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ PATCH Build VNF Snapshot Package Content Task - Method Not implemented ... Test title: PATCH Build VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ DELETE Build VNF Snapshot Package Content Task - Method Not implemented ... Test title: DELETE Build VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/CancelVNFSnapshotPackageOperationTask.robot b/SOL005/VNFSnapshotPackageManagement-API/CancelVNFSnapshotPackageOperationTask.robot index 439d4cc14..b3de781ed 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/CancelVNFSnapshotPackageOperationTask.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/CancelVNFSnapshotPackageOperationTask.robot @@ -7,7 +7,7 @@ POST Cancel VNF Snapshot Package Content Task ... Test title: POST Cancel VNF Snapshot Package Content Task ... Test objective: The objective is to test that POST method provides the information for the NFVO to cancel the ongoing operation related to the content of a VNF snapshot package. ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ POST Cancel VNF Snapshot Package Content Task - Conflict ... Test title: POST Cancel VNF Snapshot Package Content Task - Conflict ... Test objective: The objective is to test that a correct error code is returned when the POST method tries to cancel a VNF Snapshot Package task and the state of the VNF snapshot package resource is other than "UPLOADING", "BUILDING", "PROCESSING" or "EXTRACTING". ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is other than "UPLOADING", "BUILDING", "PROCESSING" or "EXTRACTING". ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test title: GET Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PUT Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test title: PUT Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ PATCH Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test title: PATCH Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ DELETE Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test title: DELETE Cancel VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/ExtractVNFSnapshotPackageContentTask.robot b/SOL005/VNFSnapshotPackageManagement-API/ExtractVNFSnapshotPackageContentTask.robot index aceaff8c0..b9d846f6d 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/ExtractVNFSnapshotPackageContentTask.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/ExtractVNFSnapshotPackageContentTask.robot @@ -7,7 +7,7 @@ POST Extract VNF Snapshot Package Content Task ... Test title: POST Extract VNF Snapshot Package Content Task ... Test objective: The objective is to test that POST method provides the information for the NFVO to start extracting the content of a VNF snapshot package. ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ POST Extract VNF Snapshot Package Content Task - Conflict State ... Test title: POST Extract VNF Snapshot Package Content Task - Conflict ... Test objective: The objective is to test that a correct error code is returned when the POST method tries to intiate extraction of VNF Snapshot Package and the state of the VNF snapshot package resource is other than "AVAILABLE". ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is other than "AVAILABLE". ... Post-Conditions: none @@ -32,7 +32,7 @@ POST Extract VNF Snapshot Package Content Task - Invalid VnfInstanceId ... Test title: POST Extract VNF Snapshot Package Content Task - Conflict ... Test objective: The objective is to test that a correct error code is returned when the POST method tries to intiate extraction of VNF Snapshot Package using an invalid VnfInstanceId in the request body. ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is other than "CREATED". ... Post-Conditions: none @@ -45,7 +45,7 @@ GET Extract VNF Snapshot Package Content Task - Method Not implemented ... Test title: GET Extract VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PUT Extract VNF Snapshot Package Content Task - Method Not implemented ... Test title: PUT Extract VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ PATCH Extract VNF Snapshot Package Content Task - Method Not implemented ... Test title: PATCH Extract VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ DELETE Extract VNF Snapshot Package Content Task - Method Not implemented ... Test title: DELETE Extract VNF Snapshot Package Content Task - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot b/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot index 2200ca054..4e83def3e 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot Package - Method not implemented ... Test title: POST Individual VNF Snapshot Package - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an individual VNF Snapshot Package - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot Package - SUCCESSFUL ... Test objective: The objective is to create a new VNF Snapshot Package resource ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an individual VNF Snapshot Package - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot Package - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot Package fails when using an invalid resource identifier. ... Pre-conditions: At least one individual VNF Snapshot Package is available in the NFV-MANO. - ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNF Snapshot Package - Method not implemented ... Test title: PUT Individual VNF Snapshot Package - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -57,7 +57,7 @@ PATCH Individual VNF Snapshot Package - Modified ... Test title: PATCH Individual VNF Snapshot Package - Modified ... Test objective: The objective is to test that PATCH method updates the information of a VNF Snapshot package ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ PATCH Individual VNF Snapshot Package - Conflict ... Test title: PATCH Individual VNF Snapshot Package - Conflict ... Test objective: The objective is to test that PATCH method does not update the information of a VNF Snapshot package when the state of the VNF snapshot package resource is in a state other than CREATED, ERROR_EXTRACTING or AVAILABLE. ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is in a state other than CREATED, ERROR_EXTRACTING or AVAILABLE. ... Post-Conditions: none @@ -83,7 +83,7 @@ DELETE Individual VNF Snapshot Package ... Test title: DELETE Individual VNF Snapshot Package ... Test objective: The objective is to test that DELETE method deletes an individual VNF Snapshot Package resource ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package deleted @@ -95,7 +95,7 @@ DELETE Individual VNF Snapshot Package - Conflict ... Test title: DELETE Individual VNF Snapshot Package - Method Not im ... Test objective: The objective is to test that DELETE method does not delete a VNF Snapshot package when the state of the VNF snapshot package resource is in a state other than CREATED, ERROR or AVAILABLE. ... Pre-conditions: none - ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is in a state other than CREATED, ERROR or AVAILABLE. ... Post-Conditions: VNF Snapshot Package not deleted diff --git a/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot b/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot index 37db5643f..55bd9e3ce 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot Package Artifact - Method not implemented ... Test title: POST Individual VNF Snapshot Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Individual VNF Snapshot Package Artifact - Complete File ... Test title: GET Information about an individual VNF Snapshot Package - Complete File ... Test objective: The objective is to fetch the whole content of a VNF snapshot package using GET method. ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Individual VNF Snapshot Package Artifact - Partial Content ... Test title: GET Individual VNF Snapshot Package Artifact - Partial Content ... Test objective: The objective is to fetch partial content of a VNF snapshot package by sending a range request using GET method. ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -47,7 +47,7 @@ GET Individual VNF Snapshot Package Artifact - Range Request Not Supported ... Test title: GET Information about an individual VNF Snapshot Package - Range Request Not Supported ... Test objective: The objective is to test that the whole content of a VNF snapshot package is delivered even with a range request when NFVO does not support range requests. ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support range requests ... Post-Conditions: none @@ -60,7 +60,7 @@ GET Individual VNF Snapshot Package Artifact - Range Not Satisfiable ... Test title: GET Information about an individual VNF Snapshot Package - Range Not Satisfiable ... Test objective: The objective is to test that an error is returned when the byte range passed in the "Range" header does not match any available byte range in the VNF snapshot package file. ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -72,7 +72,7 @@ GET Individual VNF Snapshot Package Artifact - Conflict ... Test title: GET Information about an individual VNF Snapshot Package - Conflict ... Test objective: The objective is to test that an error is returned when the "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Post-Conditions: none @@ -85,7 +85,7 @@ GET Individual VNF Snapshot Package Artifact - External Artifact ... Test title: GET Information about an individual VNF Snapshot Package - External Artifact ... Test objective: The objective is to test that correct response code is returned the referred "Individual VNF Snapshot package artifact" is external to the main VNF snapshot package file created from a build process. ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "Individual VNF Snapshot package artifact" is external to the main VNF snapshot package file created from a build process. ... Post-Conditions: none @@ -98,7 +98,7 @@ PUT Individual VNF Snapshot Package Artifact - Method not implemented ... Test title: PUT Individual VNF Snapshot Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -110,7 +110,7 @@ PATCH Individual VNF Snapshot Package Artifact - Method Not implemented ... Test title: PATCH Individual VNF Snapshot Package Artifact ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ DELETE Individual VNF Snapshot Package Artifact - Method Not implemented ... Test title: DELETE Individual VNF Snapshot Package Artifact - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/UploadVNFSnapshotPackageFromUriTask.robot b/SOL005/VNFSnapshotPackageManagement-API/UploadVNFSnapshotPackageFromUriTask.robot index 74d13ee52..9622286bf 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/UploadVNFSnapshotPackageFromUriTask.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/UploadVNFSnapshotPackageFromUriTask.robot @@ -7,7 +7,7 @@ POST Upload VNF Snapshot Package Content from URI ... Test title: POST Upload VNF Snapshot Package Content from URI ... Test objective: The objective is to test that POST method provides the information for the NFVO to get the content of a VNF snapshot package. ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ POST Upload VNF Snapshot Package Content from URI - Conflict ... Test title: POST Upload VNF Snapshot Package Content from URI - Conflict ... Test objective: The objective is to test that a correct error code is returned when the POST method tries to intiate upload VNF Snapshot Package from URI task and the state of the VNF snapshot package resource is other than "CREATED" or "ERROR". ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The state of the VNF snapshot package resource is other than "CREATED" or "ERROR". ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test title: GET Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PUT Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test title: PUT Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ PATCH Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test title: PATCH Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ DELETE Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test title: DELETE Upload VNF Snapshot Package Content from URI - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot b/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot index bf1a14008..c6d86455f 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot @@ -7,7 +7,7 @@ POST VNF Snapshot Package Content - Method not implemented ... Test title: POST VNF Snapshot Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET VNF Snapshot Package Content - Complete File ... Test title: GET Information about an individual VNF Snapshot Package - Complete File ... Test objective: The objective is to fetch the whole content of a VNF snapshot package using GET method. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET VNF Snapshot Package Content - Partial Content ... Test title: GET VNF Snapshot Package Content - Partial Content ... Test objective: The objective is to fetch partial content of a VNF snapshot package by sending a range request using GET method. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -47,7 +47,7 @@ GET VNF Snapshot Package Content - Range Request Not Supported ... Test title: GET Information about an individual VNF Snapshot Package - Range Request Not Supported ... Test objective: The objective is to test that the whole content of a VNF snapshot package is delivered even with a range request when NFVO does not support range requests. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support range requests ... Post-Conditions: none @@ -60,7 +60,7 @@ GET VNF Snapshot Package Content - Range Not Satisfiable ... Test title: GET Information about an individual VNF Snapshot Package - Range Not Satisfiable ... Test objective: The objective is to test that an error is returned when the byte range passed in the "Range" header does not match any available byte range in the VNF snapshot package file. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -72,7 +72,7 @@ GET VNF Snapshot Package Content - Conflict ... Test title: GET Information about an individual VNF Snapshot Package - Conflict ... Test objective: The objective is to test that an error is returned when the "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Post-Conditions: none @@ -85,7 +85,7 @@ PUT VNF Snapshot Package Content ... Test title: PUT VNF Snapshot Package Content ... Test objective: The objective is to test that PUT method uploads the content of VNF Snapshot Package. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT VNF Snapshot Package Content - Conflict ... Test title: PUT VNF Snapshot Package Content ... Test objective: The objective is to test that PUT method cannot upload the content of VNF Package when the state of the VNF snapshot package resource is other than "CREATED" or "ERROR".. ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: the state of the VNF snapshot package resource is other than "CREATED" or "ERROR". ... Post-Conditions: none @@ -110,7 +110,7 @@ PATCH VNF Snapshot Package Content - Method Not implemented ... Test title: PATCH VNF Snapshot Package Content ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ DELETE VNF Snapshot Package Content - Method Not implemented ... Test title: DELETE VNF Snapshot Package Content - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot b/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot index 7a6c51d84..d9fde4bb7 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot @@ -7,7 +7,7 @@ POST Create a VNF Snapshot Package ... Test title: POST Create a VNF Snapshot Package ... Test objective: The objective is to test that POST method creates a VNF Snapshot Package ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -20,7 +20,7 @@ GET information about multiple VNF Snapshot Packages ... Test title: GET information about multiple VNF Snapshot Packages ... Test objective: The objective is to get information about multiples VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -33,7 +33,7 @@ GET information about multiple VNF Snapshot Packages Bad Request Invalid attribu ... Test title: GET information about multiple VNF Snapshot Packages Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshot Packages with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ GET information about multiple VNF Snapshot Packages Bad Request Invalid attribu ... Test title: GET information about multiple VNF Snapshot Packages Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshot Packages with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ GET information about multiple VNF Snapshot Packages with "all_fields" attribute ... Test title: GET information about multiple VNF Snapshot Packages with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_default" attr ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ GET information about multiple VNF Snapshot Packages with "fields" attribute sel ... Test title: GET information about multiple VNF Snapshot Packages with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -98,7 +98,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_default" and ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_fields" attri ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ GET VNF Snapshot Packages - Bad Request Response too Big ... Test title: GET VNF Snapshot Packages - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshot Packages list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -137,7 +137,7 @@ GET VNF Snapshot Packages as Paged Response ... Test title: GET VNF Snapshot Packages as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshot Packages as paged response. ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -150,7 +150,7 @@ PUT VNF Snapshot Packages - Method not implemented ... Test title: PUT VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -162,7 +162,7 @@ PATCH VNF Snapshot Packages - Method not implemented ... Test title: PATCH VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ DELETE VNF Snapshot Packages - Method not implemented ... Test title: DELETE VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF snapshot package is not deleted @@ -186,7 +186,7 @@ GET information about multiple VNF Snapshot Packages with Filter ... Test title: GET information about multiple VNF Snapshot Packages with Filter ... Test objective: The objective is to get information about multiples VNF Snapshot Packages using filter ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From b1da51a930c04542d83d7b126b0e9913174d0567 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 17:07:13 +0200 Subject: [PATCH 055/211] updated schemas to v3.5.1 for Vnf Snapshot --- .../schemas/VnfSnapshotPkgInfo.schema.json | 148 +---- .../schemas/VnfSnapshotPkgInfos.schema.json | 604 ++++++++---------- 2 files changed, 284 insertions(+), 468 deletions(-) diff --git a/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json b/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json index 3810b4f9c..bc4ee9613 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json +++ b/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json @@ -1,14 +1,7 @@ { - "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\n", + "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\nNOTE:\tThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", "type": "object", - "required": [ - "id", - "name", - "isFullSnapshot", - "state", - "isCancelPending", - "_links" - ], + "required": ["id", "name", "isFullSnapshot", "state", "isCancelPending", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -24,10 +17,7 @@ }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -49,7 +39,7 @@ "type": "string" }, "vnfcSnapshotInfoIds": { - "description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation. See note.\n", "type": "array", "items": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -63,12 +53,7 @@ "vnfdInfo": { "description": "This type represents the VNFD which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.4-1.\n", "type": "object", - "required": [ - "vnfdId", - "vnfdPath", - "checksum", - "isEncrypted" - ], + "required": ["vnfdId", "vnfdPath", "checksum", "isEncrypted"], "properties": { "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", @@ -80,10 +65,7 @@ }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -105,11 +87,7 @@ "vnfsr": { "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.5-1.\n", "type": "object", - "required": [ - "recordPath", - "checksum", - "isEncrypted" - ], + "required": ["recordPath", "checksum", "isEncrypted"], "properties": { "recordPath": { "description": "Path which identifies the VNF snapshot record and allows to access a copy of the VNF snapshot record for the extraction.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n", @@ -117,10 +95,7 @@ }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -140,24 +115,12 @@ } }, "vnfcSnapshotImages": { - "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. See note.\n", "type": "array", "items": { - "description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1.\n", + "description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1. NOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\". NOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\".\n", "type": "object", - "required": [ - "id", - "name", - "checksum", - "isEncrypted", - "vnfcInstanceId", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size" - ], + "required": ["id", "name", "checksum", "isEncrypted", "vnfcInstanceId", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], "properties": { "id": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -169,10 +132,7 @@ }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -194,33 +154,14 @@ "type": "string" }, "containerFormat": { - "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n", + "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nSee note 1.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] }, "diskFormat": { - "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n", + "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nSee note 2.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] }, "createdAt": { "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", @@ -246,7 +187,7 @@ "type": "object" }, "imagePath": { - "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact. \nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", + "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact.\nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", "type": "string" }, "imageUri": { @@ -258,15 +199,12 @@ } }, "additionalArtifacts": { - "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", "type": "array", "items": { "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package. It shall comply with provisions defined in table 11.5.3.3-1.\n", "type": "object", - "required": [ - "checksum", - "isEncrypted" - ], + "required": ["checksum", "isEncrypted"], "properties": { "artifactPath": { "description": "Path which identifies the artifact and also allows to access a copy of the artifact.\nFor an artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.sh\nFor an external artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", @@ -279,10 +217,7 @@ }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -307,17 +242,9 @@ } }, "state": { - "description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", + "description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - PROCESSING: the VNF snapshot package is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", "type": "string", - "enum": [ - "CREATED", - "BUILDING", - "UPLOADING", - "EXTRACTING", - "AVAILABLE", - "ERROR", - "ERROR_EXTRACTING" - ] + "enum": ["CREATED", "BUILDING", "UPLOADING", "EXTRACTING", "AVAILABLE", "PROCESSING", "ERROR", "ERROR_EXTRACTING"] }, "isCancelPending": { "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", @@ -326,29 +253,17 @@ "failureDetails": { "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", "type": "object", - "required": [ - "errorType", - "details" - ], + "required": ["errorType", "details"], "properties": { "errorType": { "description": "Type of error, when the failure happened (building, upload, processing, extracting). Permitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", "type": "string", - "enum": [ - "BUILD_ERROR", - "UPLOAD_ERROR", - "PROCESS_ERROR", - "CANCELLED", - "EXTRACTION_ERROR" - ] + "enum": ["BUILD_ERROR", "UPLOAD_ERROR", "PROCESS_ERROR", "CANCELLED", "EXTRACTION_ERROR"] }, "details": { "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", - "required": [ - "status", - "detail" - ], + "required": ["status", "detail"], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", @@ -383,17 +298,12 @@ "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self", - "packageContent" - ], + "required": ["self", "packageContent"], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", @@ -405,9 +315,7 @@ "packageContent": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", diff --git a/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json b/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json index e911edf17..517b0d4ad 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json +++ b/SOL005/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json @@ -1,181 +1,74 @@ { "type": "array", - "items": - { - "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "name", - "isFullSnapshot", - "state", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshotPkgUniqueId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the VNF snapshot package.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "vnfSnapshotId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcSnapshotInfoIds": { - "description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "items": + { + "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\nNOTE:\tThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "object", + "required": ["id", "name", "isFullSnapshot", "state", "isCancelPending", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "isFullSnapshot": { - "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", - "type": "boolean" - }, - "vnfdInfo": { - "description": "This type represents the VNFD which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.4-1.\n", - "type": "object", - "required": [ - "vnfdId", - "vnfdPath", - "checksum", - "isEncrypted" - ], - "properties": { - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdPath": { - "description": "Path which allows to access a copy of the VNFD. The VNFD is implemented as a collection of one or more files, and the path refers to the ZIP archive file embedding these files. The VNF snapshot package format is defined in the ETSI GS NFV-SOL 010.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } + }, + "vnfSnapshotPkgUniqueId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the VNF snapshot package.\n", + "type": "string" + }, + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" } - }, - "isEncrypted": { - "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", - "type": "boolean" } - } - }, - "vnfsr": { - "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.5-1.\n", - "type": "object", - "required": [ - "recordPath", - "checksum", - "isEncrypted" - ], - "properties": { - "recordPath": { - "description": "Path which identifies the VNF snapshot record and allows to access a copy of the VNF snapshot record for the extraction.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n", + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "vnfSnapshotId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcSnapshotInfoIds": { + "description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "isEncrypted": { - "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", - "type": "boolean" } - } - }, - "vnfcSnapshotImages": { - "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1.\n", + }, + "isFullSnapshot": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "vnfdInfo": { + "description": "This type represents the VNFD which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.4-1.\n", "type": "object", - "required": [ - "id", - "name", - "checksum", - "isEncrypted", - "vnfcInstanceId", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size" - ], + "required": ["vnfdId", "vnfdPath", "checksum", "isEncrypted"], "properties": { - "id": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "name": { - "description": "Name of the VNFC snapshot image.", + "vnfdPath": { + "description": "Path which allows to access a copy of the VNFD. The VNFD is implemented as a collection of one or more files, and the path refers to the ZIP archive file embedding these files. The VNF snapshot package format is defined in the ETSI GS NFV-SOL 010.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -191,101 +84,21 @@ "isEncrypted": { "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", "type": "boolean" - }, - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "containerFormat": { - "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "minDisk": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "imagePath": { - "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact. \nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", - "type": "string" - }, - "imageUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string", - "format": "uri" } } - } - }, - "additionalArtifacts": { - "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package. It shall comply with provisions defined in table 11.5.3.3-1.\n", + }, + "vnfsr": { + "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.5-1.\n", "type": "object", - "required": [ - "checksum", - "isEncrypted" - ], + "required": ["recordPath", "checksum", "isEncrypted"], "properties": { - "artifactPath": { - "description": "Path which identifies the artifact and also allows to access a copy of the artifact.\nFor an artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.sh\nFor an external artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", + "recordPath": { + "description": "Path which identifies the VNF snapshot record and allows to access a copy of the VNF snapshot record for the extraction.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n", "type": "string" }, - "artifactUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string", - "format": "uri" - }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "required": [ - "algorithm", - "hash" - ], + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -301,126 +114,221 @@ "isEncrypted": { "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", "type": "boolean" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" } } - } - }, - "state": { - "description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", - "type": "string", - "enum": [ - "CREATED", - "BUILDING", - "UPLOADING", - "EXTRACTING", - "AVAILABLE", - "ERROR", - "ERROR_EXTRACTING" - ] - }, - "isCancelPending": { - "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", - "type": "boolean" - }, - "failureDetails": { - "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", - "type": "object", - "required": [ - "errorType", - "details" - ], - "properties": { - "errorType": { - "description": "Type of error, when the failure happened (building, upload, processing, extracting). Permitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", - "type": "string", - "enum": [ - "BUILD_ERROR", - "UPLOAD_ERROR", - "PROCESS_ERROR", - "CANCELLED", - "EXTRACTION_ERROR" - ] - }, - "details": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + }, + "vnfcSnapshotImages": { + "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. See note.\n", + "type": "array", + "items": { + "description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1. NOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\". NOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\".\n", "type": "object", - "required": [ - "status", - "detail" - ], + "required": ["id", "name", "checksum", "isEncrypted", "vnfcInstanceId", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" + "id": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "name": { + "description": "Name of the VNFC snapshot image.", "type": "string" }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" + } + } + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "vnfcInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "containerFormat": { + "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nSee note 1.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] + }, + "diskFormat": { + "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nSee note 2.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "minDisk": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 + }, + "minRam": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 + }, + "size": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "userMetadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "imagePath": { + "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact.\nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", "type": "string" }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string", - "format": "URI" + "format": "uri" } } } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", + }, + "additionalArtifacts": { + "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "array", + "items": { + "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package. It shall comply with provisions defined in table 11.5.3.3-1.\n", "type": "object", - "required": [ - "href" - ], + "required": ["checksum", "isEncrypted"], "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "artifactPath": { + "description": "Path which identifies the artifact and also allows to access a copy of the artifact.\nFor an artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.sh\nFor an external artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n", + "type": "string" + }, + "artifactUri": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string", - "format": "url" + "format": "uri" + }, + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" + } + } + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" + } + }, + "state": { + "description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - PROCESSING: the VNF snapshot package is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", + "type": "string", + "enum": ["CREATED", "BUILDING", "UPLOADING", "EXTRACTING", "AVAILABLE", "PROCESSING", "ERROR", "ERROR_EXTRACTING"] + }, + "isCancelPending": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "failureDetails": { + "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", + "type": "object", + "required": ["errorType", "details"], + "properties": { + "errorType": { + "description": "Type of error, when the failure happened (building, upload, processing, extracting). Permitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", + "type": "string", + "enum": ["BUILD_ERROR", "UPLOAD_ERROR", "PROCESS_ERROR", "CANCELLED", "EXTRACTION_ERROR"] + }, + "details": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "packageContent"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "packageContent": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } } } } } - } - } + } } \ No newline at end of file -- GitLab From 827adc77296558972fad1f8ae959202ed4bec268 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:12:13 +0500 Subject: [PATCH 056/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 15cacd5bc..bc36f6f1c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -16,7 +16,7 @@ ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 #${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + ${apiRoot} / ${apiMajorVersion} v1 @@ -26,8 +26,7 @@ ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} ${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -51,10 +50,10 @@ ${invalid_etag} invalid etag ${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${erroneousThresholdId} erroneousThresholdId ${newThresholdId} newThresholdId -#${origResponse}= httpresponse + ### NOTIFICATIONS VARIABLES ### -#${callback_endpoint} /endpoint + ${callback_endpoint_fwd} /endpoint/check ${notification_request} [] -- GitLab From 446b7c78696bbe2e77088b9ed1f72dacf48d0391 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:13:50 +0500 Subject: [PATCH 057/211] delete unused variables from variables.txt file --- .../NFVMANOFaultManagement-API/environment/variables.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index af9adaacd..62dcfc043 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -27,14 +27,14 @@ ${invalid_alarm_filter} badFilter ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${Etag}= an etag -#${Etag_modified}= a modified etag + ${NFVMANO_DUPLICATION} 1 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -#${faultyResourceType} + ${notification_type} AlarmNotification ${callback_port} 9091 @@ -42,8 +42,8 @@ ${callback_uri} http://localhost:${callback_port} ${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From ba1f07bd337c82fa564e913e262f5a098985cd5f Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:14:48 +0500 Subject: [PATCH 058/211] delete unused variables from variables.txt file --- SOL009/NFVMANOLogManagement-API/environment/variables.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index c45c951ef..272f600ea 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -16,7 +16,7 @@ ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${ACCEPT} application/json ${AUTH_USAGE} 1 -#${FIELD_USAGE} 1 + ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint ${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 @@ -35,8 +35,8 @@ ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 9c56f787775ef68544fafc02848530aa37e80be9 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:16:32 +0500 Subject: [PATCH 059/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 887bff0d9..1a2939584 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -5,17 +5,17 @@ ${NFVMANO_SCHEMA} https ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken -#${WRONG_AUTHORIZATION_TOKEN} Bearer XXXXXWRONGXXXXX + ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${AUTH_USAGE} 1 -#${FIELD_USAGE} 1 + ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + ${apiRoot} / ${apiMajorVersion} v2 @@ -41,8 +41,8 @@ ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 2c3b64674d0a4174c52f8b36b7bfa06b91e31503 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:37:25 +0500 Subject: [PATCH 060/211] delete unused variables from variables.txt file --- SOL002/VNFConfiguration-API/environment/variables.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index bc6fd2709..d7a840e02 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -17,6 +17,4 @@ ${CONTENT_TYPE} application/json ${apiRoot} / ${apiName} vnfconfig -${apiMajorVersion} v1 - -#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX \ No newline at end of file +${apiMajorVersion} v1 \ No newline at end of file -- GitLab From 680fd53313ce232aaeb7252cb0844b10b7a9cb78 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:47:23 +0500 Subject: [PATCH 061/211] delete unused variables from variables.txt file --- SOL002/VNFIndicator-API/environment/variables.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index 8c1db1d2c..d7d2ae89c 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -1,7 +1,4 @@ *** Variables *** -#${PRODUCER_HOST} localhost -#${PRODUCER_PORT} 8081 -#${PRODUCER_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken @@ -16,7 +13,6 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} vnfind - ${VNFM_CHECKS_NOTIF_ENDPOINT} 0 ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar @@ -28,7 +24,6 @@ ${unreachable_callback_uri} http://not-reachable-uri ${response} some_response_object - ${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586 ${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions ${origResponse}= httpresponse @@ -47,9 +42,7 @@ ${SEPERATOR} = ${erroneousVnfInstanceId} erroneousVnfInstanceId ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value - - -#${vnfIndicators} = + ${VAR_SEPERATOR} & ${callbackResp} localhost \ No newline at end of file -- GitLab From 60a041c68a15952bfd867a0127ad41f7304017a0 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:48:48 +0500 Subject: [PATCH 062/211] delete unused variables from variables.txt file --- SOL002/VNFIndicatorNotification-API/environment/variables.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/SOL002/VNFIndicatorNotification-API/environment/variables.txt b/SOL002/VNFIndicatorNotification-API/environment/variables.txt index 39519809b..17e51a3f7 100644 --- a/SOL002/VNFIndicatorNotification-API/environment/variables.txt +++ b/SOL002/VNFIndicatorNotification-API/environment/variables.txt @@ -4,7 +4,6 @@ ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From d90397d69254107172bf06ef433953c1d3fdd9f8 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:54:38 +0500 Subject: [PATCH 063/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 8 +++----- .../environment/notifications.txt | 3 +-- .../environment/variables.txt | 3 +-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index f471f9f0f..cf8b26b5f 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -10,27 +10,25 @@ ${apiName} vnfpm ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json -#${NEG_AUTHORIZATION} Bearer negativetoken + ${FIELD_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${AUTH_USAGE} 1 -#${VNFM_DUPLICATION} 1 + ${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ${callback_uri} http://localhost ${unreachable_callback_uri} http://not-reachable-uri ${new_callback_uri} http://newcallbackuri-for-PMJobModifications ${callback_port} 9091 ${callback_endpoint} /endpoint -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${response} http-response ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -#${subscribe} /subscribe ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt index df0ade768..67c4b9b13 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt @@ -3,8 +3,7 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt index 1d1cb159c..ea7743322 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt @@ -2,6 +2,5 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From 43117b7485e82ee57f4a7b828702f736dc574b45 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 14:45:32 +0500 Subject: [PATCH 064/211] Update robot, keyords, variable.txt Files --- .../CancelCoordinationActionTask.robot | 20 ++- .../Coordinations.robot | 13 +- .../IndividualCoordinationAction.robot | 18 ++- .../VNFLCMCoordinationKeywords.robot | 103 ++++++++---- .../environment/variables.txt | 42 ++--- .../jsons/LcmCoordRequest.json | 12 +- .../schemas/LcmCoords.schema.json | 152 ------------------ 7 files changed, 139 insertions(+), 221 deletions(-) delete mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot index be0c501dd..56f6f36cb 100644 --- a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -36,8 +36,20 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails -GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented +Request a cancellation of an ongoing coordination action without authentication [Documentation] Test ID: 6.3.6.4.3 + ... Test title: Request a cancellation of an ongoing coordination action without authentication + ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used + ... Pre-conditions: none + ... Reference: Clause Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Cancellation of an Ongoing Individual Coordination Action without authorization token + Check HTTP Response Status Code Is 401 + +GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.4 ... Test title: GET Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that GET method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -49,7 +61,7 @@ GET Cancellation of an Ongoing Individual Coordination Action - Method not Imple Check HTTP Response Status Code Is 405 PUT Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.4 + [Documentation] Test ID: 6.3.6.4.5 ... Test title: PUT Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PUT method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -61,7 +73,7 @@ PUT Cancellation of an Ongoing Individual Coordination Action - Method not Imple Check HTTP Response Status Code Is 405 PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.5 + [Documentation] Test ID: 6.3.6.4.6 ... Test title: PATCH Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PATCH method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -73,7 +85,7 @@ PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Imp Check HTTP Response Status Code Is 405 DELETE Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.6 + [Documentation] Test ID: 6.3.6.4.7 ... Test title: DELETE Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that DELETE method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index 1e1077202..cc60bcc4c 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -21,8 +21,9 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn ... Post-Condition: none Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Check HTTP Response Status Code Is 201 - Check HTTP Location Header Contains URI of Created Resource - Check HTTP Response Body Json Schema Is LcmCoords + Check HTTP Response Body Json Schema Is LcmCoord + Check HTTP Response Header Contains Location + Check Postcondition LcmCoord Exists POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asynchronous Mode [Documentation] Test ID: 6.3.6.2.2 @@ -35,8 +36,8 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asy ... Post-Condition: none Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Check HTTP Response Status Code Is 202 - Check HTTP Location Header Contains URI of Resource That Will be Created Check HTTP Response Body Should be Empty + Check HTTP Response Header Contains Location POST Coordination of a LCM Operation Occurance Forbidden [Documentation] Test ID: 6.3.6.2.3 @@ -60,7 +61,7 @@ POST Coordination of LCM Operation Occurance Conflict ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. ... Post-Condition: none - Post coordination of LCM operation Occurance - Conflict + Post coordination of LCM operation Occurance - conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails @@ -73,9 +74,9 @@ POST Coordination of LCM Operation Occurance Service Unavailable ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none - Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable Check HTTP Response Status Code Is 503 - Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + Check HTTP Response Header Contains Retry-After Check HTTP Response Body Json Schema Is ProblemDetails GET Coordination of a LCM Operation Occurance - Method not implemented diff --git a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot index dca7fa494..c62a741d8 100644 --- a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot @@ -47,8 +47,20 @@ GET Individual LCM Operation Coordination Results - Coordination is Not Finished Check HTTP Response Status Code Is 202 Check HTTP Response Body Should be Empty -PUT Individual LCM Operation Coordination Results - Method not implemented +Get Individual LCM Operation Coordination Results without authentication [Documentation] Test ID: 6.3.6.3.4 + ... Test title: Get information about a finished coordination task without authentication + ... Test objective: The objective is to try to read an individual coordination task without using authentication + ... Pre-conditions: none + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET Individual LCM Operation Coordination Results - without authentication + Check HTTP Response Status Code Is 401 + +PUT Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.5 ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PUT method for individual LCM operation coordination results is not implemented. ... pre-condition: none @@ -60,7 +72,7 @@ PUT Individual LCM Operation Coordination Results - Method not implemented Check HTTP Response Status Code Is 405 PATCH Individual LCM Operation Coordination Results - Method not implemented - [Documentation] Test ID: 6.3.6.3.5 + [Documentation] Test ID: 6.3.6.3.6 ... Test title: PATCH Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PATCH method for individual LCM operation coordination results is not implemented. ... pre-condition: none @@ -72,7 +84,7 @@ PATCH Individual LCM Operation Coordination Results - Method not implemented Check HTTP Response Status Code Is 405 DELETE Individual LCM Operation Coordination Results - Method not implemented - [Documentation] Test ID: 6.3.6.3.6 + [Documentation] Test ID: 6.3.6.3.7 ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that DELETE method for individual LCM operation coordination results is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index f46ec8bcb..61196a33e 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -22,6 +22,16 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition LcmCoord Exists + Log Checking that individual lcm coordination exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordiations/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + Check HTTP Response Body Should be Empty Should Be Empty ${response['body']} @@ -32,25 +42,33 @@ POST Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET Individual LCM Operation Coordination Results - Log Trying to perform a GET. This method should not be implemented + Log Requesting the retrieve of a finished coordination task Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET Individual LCM Operation Coordination Results of Ongoing Coordination Action - Log Trying to perform a POST. This method should not be implemented + Log Requesting the retrieve of an ongoing coordination task Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results - without authentication + Log Requesting to retrieve a finished coordination task without authentication + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Suite Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results Log Trying to perform a PUT. This method should not be implemented @@ -59,7 +77,7 @@ PUT Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH Individual LCM Operation Coordination Results Log Trying to perform a PATCH. This method should not be implemented @@ -68,7 +86,7 @@ PATCH Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE Individual LCM Operation Coordination Results Log Trying to perform a DELETE. This method should not be implemented @@ -77,17 +95,16 @@ DELETE Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - + Set Suite Variable ${response} ${outputResponse} POST Cancellation of an Ongoing Individual Coordination Action Log Trying to initiates the cancellation of an ongoing coordination action. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. @@ -96,7 +113,15 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} + +POST Cancellation of an Ongoing Individual Coordination Action without authorization token + Log Requesting the cancellation of an ongoing coordination task without authorization + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} GET Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a GET. This method should not be implemented @@ -105,7 +130,7 @@ GET Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PUT Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PUT. This method should not be implemented @@ -114,7 +139,7 @@ PUT Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PATCH. This method should not be implemented @@ -123,7 +148,7 @@ PATCH Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a DELETE. This method should not be implemented @@ -132,20 +157,17 @@ DELETE Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} -Check HTTP Location Header Contains URI of Created Resource - ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location - Should Not Be Empty ${indiviCoordActionId} +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present Check HTTP Location Header Contains URI of Resource That Will be Created ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${indiviCoordActionId} -Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated - ${delayTime}= Get Value From Json ${response['headers']} $..Retry-After - Should Not Be Empty ${delayTime} - Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations @@ -153,10 +175,10 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. @@ -168,18 +190,31 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} -Post coordination of LCM operation Occurance - Conflict +Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable + Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefServiceUnavailable} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance - conflict + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefNotProcessing} vnfInstanceHref=${vnfInstanceHref} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance is Forbidden Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations @@ -191,7 +226,7 @@ Post coordination of LCM operation Occurance is Forbidden ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET coordination of LCM operation Occurance Log Trying to perform a GET. This method should not be implemented @@ -200,7 +235,7 @@ GET coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PUT coordination of LCM operation Occurance Log Trying to perform a PUT. This method should not be implemented @@ -209,7 +244,7 @@ PUT coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH coordination of LCM operation Occurance Log Trying to perform a PATCH. This method should not be implemented @@ -218,7 +253,7 @@ PATCH coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE coordination of LCM operation Occurance Log Trying to perform a DELETE. This method should not be implemented @@ -227,7 +262,7 @@ DELETE coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} POST API Version Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 3533ae3fa..72d31cc41 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -1,30 +1,36 @@ *** Variables *** - -${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. - -${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f - -${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f - -${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. -${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. - -${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions - ${AUTH_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 - ${apiRoot} / ${apiName} lcmcoord ${apiMajorVersion} v1 ${response}= httpresponse - ${EM-VNF_HOST} localhost # Hostname of the NFVO ${EM-VNF_PORT} 8081 # Listening port of the NFVO ${EM-VNF_SCHEMA} https - ${CONTENT_TYPE} application/json -${ACCEPT} application/json \ No newline at end of file +${ACCEPT} application/json + +${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. + +{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. +${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. + +### Template data for coordinationRequest +${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions +${vnfLcmOpOccHref} +${vnfInstanceHref} + +### Template data for coordinationRequest for LCMOpp not in PROCESSING state +${vnfLcmOpOccHrefNotProcessing} +${vnfLcmOpOccIdNotProcessing} + +### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request +${vnfLcmOpOccHrefServiceUnavailable} +${vnfLcmOpOccIdServiceUnavailable} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json index 74f17f714..c0cc402f6 100644 --- a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json +++ b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json @@ -3,8 +3,12 @@ "vnfLcmOpOccId":"{vnfLcmOpOccId}", "lcmOperationType": "{lcmOperationType}", "coordinationActionName": "{coordinationActionName}", - "_links": {{ - "vnfLcmOpOcc":"", - "vnfInstance":"" - }} + "_links": {{ + "vnfLcmOpOcc": {{ + "href": "{vnfLcmOpOccHref}" + }}, + "vnfInstance": {{ + "href": "{vnfInstanceHref}" + }} + }} }} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json deleted file mode 100644 index 8434d8d67..000000000 --- a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "type": "array", - "items": - { - "description": "This type represents an LCM coordination result.\n", - "type": "object", - "required": [ - "id", - "coordinationResult", - "vnfInstanceId", - "vnfLcmOpOccId", - "lcmOperationType", - "coordinationActionName", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationResult": { - "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", - "type": "string", - "enum": [ - "CONTINUE", - "ABORT", - "CANCELLED" - ] - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO", - "CREATE_SNAPSHOT", - "REVERT_TO_SNAPSHOT", - "CHANGE_VNFPKG" - ] - }, - "coordinationActionName": { - "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", - "type": "string" - }, - "outputParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "warnings": { - "description": "Warning messages that were generated while the operation was executing.\n", - "type": "string" - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfLcmOpOcc", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } \ No newline at end of file -- GitLab From 050e40f9477f94374636aec21036be41dbedeb27 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Tue, 26 Oct 2021 19:13:50 +0500 Subject: [PATCH 065/211] Add 403 Forbidden Testcase, Add variables.txt file --- .../Coordinations.robot | 30 +++-- .../VNFLCMCoordinationKeywords.robot | 127 ++++++++++-------- .../environment/variables.txt | 5 +- 3 files changed, 92 insertions(+), 70 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index cc60bcc4c..d415882bd 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -42,8 +42,8 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asy POST Coordination of a LCM Operation Occurance Forbidden [Documentation] Test ID: 6.3.6.2.3 ... Test title: Post Coordination of an LCM operation occurrence Forbidden - ... Test Objective: The objective is to verify that the coordination of LCM operation occurance has been rejected. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... Test Objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence + ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING". The request is performed by a user that has not the grant to run this operation ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none @@ -56,7 +56,7 @@ POST Coordination of LCM Operation Occurance Conflict [Documentation] Test ID: 6.3.6.2.4 ... Test title: Post Coordination of an LCM operation occurrence Conflict ... Test Objective: The objective is to verify that no coordination actions can be executed currently, due to a conflict with the state of the "Coordinations" resource. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... pre-condition: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. @@ -68,8 +68,8 @@ POST Coordination of LCM Operation Occurance Conflict POST Coordination of LCM Operation Occurance Service Unavailable [Documentation] Test ID: 6.3.6.2.5 ... Test title: Post Coordination of an LCM operation occurrence Service Unavailable - ... Test Objective: The objective is to verify that requested coordination operation cannot be executed currently. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... Test Objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately the request, but can perform it sometime in the future. + ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode @@ -79,8 +79,20 @@ POST Coordination of LCM Operation Occurance Service Unavailable Check HTTP Response Header Contains Retry-After Check HTTP Response Body Json Schema Is ProblemDetails -GET Coordination of a LCM Operation Occurance - Method not implemented +POST Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 6.3.6.2.6 + ... Test title: Request a Coordination of an LCM operation occurrence without authentication + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + Post Request for coordination of an LCM operation occurrence without authorization token + Check HTTP Response Status Code Is 401 + +GET Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.7 ... Test title: GET Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that GET method for Resource Coordinations is not implemented. ... pre-condition: none @@ -92,7 +104,7 @@ GET Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 PUT Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.7 + [Documentation] Test ID: 6.3.6.2.8 ... Test title: PUT Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PUT method for Resource Coordinations is not implemented. ... pre-condition: none @@ -104,7 +116,7 @@ PUT Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 PACTH Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.8 + [Documentation] Test ID: 6.3.6.2.9 ... Test title: PATCH Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PATCH method for Resource Coordinations is not implemented. ... pre-condition: none @@ -116,7 +128,7 @@ PACTH Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 DELETE Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.9 + [Documentation] Test ID: 6.3.6.2.10 ... Test title: DELETE Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that DELETE method for Resource Coordinations is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 61196a33e..2e568f919 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -37,8 +37,8 @@ Check HTTP Response Body Should be Empty POST Individual LCM Operation Coordination Results Log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -46,8 +46,8 @@ POST Individual LCM Operation Coordination Results GET Individual LCM Operation Coordination Results Log Requesting the retrieve of a finished coordination task - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response @@ -55,8 +55,8 @@ GET Individual LCM Operation Coordination Results GET Individual LCM Operation Coordination Results of Ongoing Coordination Action Log Requesting the retrieve of an ongoing coordination task - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} ${outputResponse}= Output response @@ -64,16 +64,16 @@ GET Individual LCM Operation Coordination Results of Ongoing Coordination Action GET Individual LCM Operation Coordination Results - without authentication Log Requesting to retrieve a finished coordination task without authentication - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -81,8 +81,8 @@ PUT Individual LCM Operation Coordination Results PATCH Individual LCM Operation Coordination Results Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -90,8 +90,8 @@ PATCH Individual LCM Operation Coordination Results DELETE Individual LCM Operation Coordination Results Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -99,8 +99,8 @@ DELETE Individual LCM Operation Coordination Results POST Cancellation of an Ongoing Individual Coordination Action Log Trying to initiates the cancellation of an ongoing coordination action. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel ${outputResponse}= Output response @@ -108,8 +108,8 @@ POST Cancellation of an Ongoing Individual Coordination Action POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel ${outputResponse}= Output response @@ -125,8 +125,8 @@ POST Cancellation of an Ongoing Individual Coordination Action without authoriza GET Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a GET. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -134,8 +134,8 @@ GET Cancellation of an Ongoing Individual Coordination Action PUT Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -143,8 +143,8 @@ PUT Cancellation of an Ongoing Individual Coordination Action PATCH Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -152,16 +152,16 @@ PATCH Cancellation of an Ongoing Individual Coordination Action DELETE Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} + [Arguments] ${CONTENT_TYPE_JSON} + Should Contain ${response['headers']} ${CONTENT_TYPE_JSON} Log Header is present Check HTTP Location Header Contains URI of Resource That Will be Created @@ -171,8 +171,8 @@ Check HTTP Location Header Contains URI of Resource That Will be Created Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} @@ -183,11 +183,11 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} @@ -195,8 +195,8 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefServiceUnavailable} vnfInstanceHref=${vnfInstanceHref} @@ -207,8 +207,8 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Post coordination of LCM operation Occurance - conflict Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefNotProcessing} vnfInstanceHref=${vnfInstanceHref} @@ -216,22 +216,31 @@ Post coordination of LCM operation Occurance - conflict ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} +Post Request for coordination of an LCM operation occurrence without authorization token + Log Requesting a new coordination task for an LCM Operation occurrence without authorization token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/LcmCoordRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Post coordination of LCM operation Occurance is Forbidden Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Log The coordination action request should be rejected - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${INSUFFICIENT_AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} GET coordination of LCM operation Occurance Log Trying to perform a GET. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -239,8 +248,8 @@ GET coordination of LCM operation Occurance PUT coordination of LCM operation Occurance Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -248,8 +257,8 @@ PUT coordination of LCM operation Occurance PATCH coordination of LCM operation Occurance Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -257,78 +266,78 @@ PATCH coordination of LCM operation Occurance DELETE coordination of LCM operation Occurance Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} POST API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 72d31cc41..1a3bda58a 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -2,6 +2,7 @@ ${AUTH_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${INSUFFICIENT_AUTHORIZATION_TOKEN} Bearer INSUFFICIENT_AUTHORIZATION_TOKEN #The provided authorization token can be insufficient, expired, etc, and server refuses to authorize the request with this token. ${apiRoot} / ${apiName} lcmcoord ${apiMajorVersion} v1 @@ -9,8 +10,8 @@ ${response}= httpresponse ${EM-VNF_HOST} localhost # Hostname of the NFVO ${EM-VNF_PORT} 8081 # Listening port of the NFVO ${EM-VNF_SCHEMA} https -${CONTENT_TYPE} application/json -${ACCEPT} application/json +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json ${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. -- GitLab From 981c74ad72fa45ca9909bdcd246eb4b88c4a0050 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 27 Oct 2021 10:43:10 +0500 Subject: [PATCH 066/211] minor fixes --- SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot | 2 +- SOL002/VNFLCMCoordination-API/environment/variables.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 2e568f919..db418d425 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -193,7 +193,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable - Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 1a3bda58a..bd9307485 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -15,7 +15,7 @@ ${ACCEPT_JSON} application/json ${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. -{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. ${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. -- GitLab From faa4b988f4ba2c8bfa19ca6d4ee17d14288ae6c9 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 27 Oct 2021 16:29:18 +0500 Subject: [PATCH 067/211] declared a variable with appropriate dummy value for better user understanding --- SOL002/VNFLCMCoordination-API/environment/variables.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index bd9307485..74326462b 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -29,8 +29,8 @@ ${vnfLcmOpOccHref} ${vnfInstanceHref} ### Template data for coordinationRequest for LCMOpp not in PROCESSING state -${vnfLcmOpOccHrefNotProcessing} -${vnfLcmOpOccIdNotProcessing} +${vnfLcmOpOccHrefNotProcessing} not-in-PROCESSING-vnfLcmOpOccHref-for-conflict-scenario +${vnfLcmOpOccIdNotProcessing} not-in-PROCESSING-vnfLcmOpOccId-for-conflict-scenario ### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request ${vnfLcmOpOccHrefServiceUnavailable} -- GitLab From d88a05ce2100b5ec6975b3ee2fd45a30ced6a15b Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:01:06 +0200 Subject: [PATCH 068/211] Removing unused variables --- SOL002/VNFConfiguration-API/environment/variables.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index d7a840e02..20cc9dee9 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -1,7 +1,5 @@ *** Variables *** -${Etag}= an etag -${Etag_modified}= 12345 ${response}= httpresponse ${EM-VNF_HOST} localhost # Hostname of the NFVO @@ -17,4 +15,4 @@ ${CONTENT_TYPE} application/json ${apiRoot} / ${apiName} vnfconfig -${apiMajorVersion} v1 \ No newline at end of file +${apiMajorVersion} v1 -- GitLab From 7eeb52d238e94aeb64b610cb29dc05744454bd6b Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:07:25 +0200 Subject: [PATCH 069/211] Removing unused variables --- SOL002/VNFIndicator-API/environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index d7d2ae89c..038ce1412 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -19,7 +19,7 @@ ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies. ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 + ${unreachable_callback_uri} http://not-reachable-uri ${response} some_response_object -- GitLab From bd7bfbb9def029cba27b3a925be93bee475dce1d Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:12:35 +0200 Subject: [PATCH 070/211] Removing unused variables --- SOL002/VNFPerformanceManagement-API/environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index cf8b26b5f..b25a6eec0 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -33,7 +33,7 @@ ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId ${newPmJobId} newPmJobId -${OrigResponse}= httpresponse + ${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${erroneousThresholdId} erroneousThresholdId -- GitLab From 5136f1d4559c68ec6db0aa2433e75c2b7fc1bd66 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 18:16:59 +0200 Subject: [PATCH 071/211] Removing unused variables --- .../environment/variables.txt | 63 ------------------- 1 file changed, 63 deletions(-) diff --git a/SOL005/VNFSnapshotPackageManagement-API/environment/variables.txt b/SOL005/VNFSnapshotPackageManagement-API/environment/variables.txt index ea521e2b4..e82fd1098 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/environment/variables.txt +++ b/SOL005/VNFSnapshotPackageManagement-API/environment/variables.txt @@ -7,71 +7,20 @@ ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken -${NFVO_FIELDS} 1 - -${vnfPackageId} 788106a2-d692-44f3-a86d-384f0ce35e42 -${vndId} 788106a2-d692-44f3-a86d-384f0ce35e42 -${onboardingStateVnfPkgId} f9f130e4-05eb-4082-a676-4c97d13a883d -${onboardingStateVnfdId} f9f130e4-05eb-4082-a676-4c97d13a883d - ${apiRoot} / ${apiMajorVersion} v1 ${apiName} vnfsnapshotpkgm -${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint - -${NFVO_ALLOWS_DUPLICATE_SUBS} 1 - ${PAGING_SUPPORTED} 1 ${response} httpresponse -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar - -${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - - -${notification_request} [] -${notification_response} [] - -${NFVO_non-MANO_OK} 1 # If 1 means that non-MANO artifacts are supported by the NFVO -${non_mano_artifact_sets} - - -${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586 -${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions -${newSubscriptionId} newSubsciptionId - -${origResponse} httpresponse - - -${erroneousVnfPackageId} erroneousVnfPackageId # Given ID for vnfPkg not present in database -${erroneousVnfdId} erroneousVnfdId - - ${filter_ok} id=f9f130e4-05eb-4082-a676-4c97d13a883d ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based -${SEPERATOR} = - -${ACCEPT_PLAIN} text/plain -${CONTENT_TYPE_PLAIN} text/plain -${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File ${ACCEPT_ZIP} application/zip ${ACCEPT_OCTET} application/octet-stream ${CONTENT_TYPE_ZIP} application/zip -${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files -${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database -${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075 - ${artifactPath} artifactPath ${ext_artifactPath} artifactPath/external @@ -80,19 +29,8 @@ ${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO ${range} bytes=0-1023 ${full_length} 2000 # Size of the requested artifact to be downloaded via partial downloads ${erroneousRange} bytes=10000000-1000000000 # Requesting a out of range number of bytes -${vnfPackageOctetStreamId} octetStreamPkgId -${vnfdOctetStreamId} octetStreamVnfdId -${vndEncryptedArtifactID} encryptedId - -${length} 1024 - -${POS_FILTER} vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW # Positive case, suing compiant fields name for filtering get request -${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields} additionalArtifacts,failureDetails -${VAR_SEPERATOR} & - -${callbackResp} localhost ${vnfSnapshotPkgId} ${invalidVnfSnapshotPkgId} @@ -102,4 +40,3 @@ ${vnfInstanceId} associated-with-extraction-of-VNF-snapshot-package ${invalidVnfInstanceId} invlalid-association-with-VNF-snapshot-package ${vnfPackageContent_URI} http://uri/for/vnfpackagecontent/upload -${externalArtifact_URI} http://uri/for/external/artifact \ No newline at end of file -- GitLab From 0e182104fdf6cfaa9a131001289c139417e0a3f0 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 12:40:49 +0200 Subject: [PATCH 072/211] updated SOL005 NSD mgmt refs to v3.5.1 --- .../IndividualNSDArchiveArtifact.robot | 26 +++++++------- .../IndividualNSDescriptor.robot | 22 ++++++------ .../IndividualPNFDArchiveArtifact.robot | 26 +++++++------- .../IndividualPnfDescriptor.robot | 14 ++++---- .../IndividualSubscription.robot | 14 ++++---- SOL005/NSDManagement-API/NSD.robot | 24 ++++++------- .../NSDManagement-API/NSDArchiveContent.robot | 24 ++++++------- .../NSDArchiveManifest.robot | 14 ++++---- SOL005/NSDManagement-API/NSDescriptors.robot | 34 +++++++++---------- .../NotificationEndpoint.robot | 14 ++++---- SOL005/NSDManagement-API/Notifications.robot | 14 ++++---- SOL005/NSDManagement-API/PNFD.robot | 24 ++++++------- .../PNFDArchiveContent.robot | 22 ++++++------ .../PNFDArchiveManifest.robot | 14 ++++---- SOL005/NSDManagement-API/PNFDescriptors.robot | 28 +++++++-------- SOL005/NSDManagement-API/Subscriptions.robot | 26 +++++++------- 16 files changed, 170 insertions(+), 170 deletions(-) diff --git a/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot b/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot index 3541588a9..f84ef585f 100644 --- a/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot +++ b/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot @@ -12,7 +12,7 @@ GET Individual NSD Archive Artifact ... Test title: GET Individual NSD Archive Artifact ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual NSD Archive Artifact with include_signatures parameter ... Test title: GET Individual NSD Archive Artifact with include_signatures parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET Individual NSD Archive Artifact in octet stream format ... Test title: GET Individual NSD Archive Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format. ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Individual NSD Archive Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual NSD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD Archive artifact. ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -76,7 +76,7 @@ GET Individual NSD Archive Artifact with invalid resource identifier ... Test title: GET Individual NSD Archive Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails when using an invalid resource identifier ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET Individual NSD Archive Artifact - Not Acceptable ... Test title: GET Individual NSD Archive Artifact - Not Acceptable ... Test objective: The objective is to test that the retrieval of an individual NSD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET Individual NSD Archive Artifact with conflict due to onboarding state ... GET Individual NSD Archive Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD archive for which the content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ GET Individual NSD Archive Artifact with invalid Range Request ... Test title: GET Individual NSD Archive Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an Individual NSD Archive fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more NSD Archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -127,7 +127,7 @@ POST Individual NSD Archive Artifact - Method not implemented ... Test title: POST Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an NSD archive. ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ PUT Individual NSD Archive Artifact - Method not implemented ... Test title: PUT Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ PATCH Individual NSD Archive Artifact - Method not implemented ... Test title: PATCH Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -163,7 +163,7 @@ DELETE Individual NSD Archive Artifact - Method not implemented ... Test title: DELETE Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4c.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot index aea05a837..cc63c1bc8 100644 --- a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot @@ -14,7 +14,7 @@ GET Individual Network Service Descriptor Information ... Test title: GET Individual Network Service Descriptor Information ... Test objective: The objective is to test the retrieval of an individual Network Service Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Individual Network Service Descriptor Information with invalid resource iden ... Test title: GET Individual Network Service Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual Network Service Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Disable Individual Network Service Descriptor ... Test title: Disable Individual Network Service Descriptor ... Test objective: The objective is to test the disabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in enabled operational state. - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state DISABLED and usage state is not modified @@ -59,7 +59,7 @@ Enable Individual Network Service Descriptor ... Test title: Enable Individual Network Service Descriptor ... Test objective: The objective is to test the enabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.1.2.3). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state ENABLED and usage state is not modified @@ -74,7 +74,7 @@ Enable Individual Network Service Descriptor with conflict due to operational st ... Test title: Enable Individual Network Service Descriptor with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual Network Service Descriptor that is already in ENABLED operational state failsand perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ Enable Individual Network Service Descriptor with conflict due to onboarding sta ... Test title: Enable Individual Network Service Descriptor with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a conflict when the Network Service Descriptor is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state. The onboarding state of the Network Service Descriptor for which the enabling is requested is different from ONBOARDED. - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ Enable Individual Network Service Descriptor with HTTP Etag precondition failure ... Test title: Enable Individual Network Service Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE Individual Network Service Descriptor ... Test title: DELETE Individual Network Service Descriptor ... Test objective: The objective is to test the deletion of an individual Network Service Descriptor. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state. - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO @@ -136,7 +136,7 @@ DELETE Individual Network Service Descriptor in operational state ENABLED ... Test title: DELETE Individual Network Service Descriptor in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual Network Service Descriptor in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not deleted by the failed operation. @@ -150,7 +150,7 @@ POST Individual Network Service Descriptor - Method not implemented ... Test title: POST Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -162,7 +162,7 @@ PUT Individual Network Service Descriptor - Method not implemented ... Test title: PUT Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot b/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot index a5d0f192d..22a13312d 100644 --- a/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot +++ b/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot @@ -12,7 +12,7 @@ GET Individual PNFD Archive Artifact ... Test title: GET Individual PNFD Archive Artifact ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual PNFD Archive Artifact with include_signatures parameter ... Test title: GET Individual PNFD Archive Artifact with include_signatures parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET Individual PNFD Archive Artifact in octet stream format ... Test title: GET Individual PNFD Archive Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format. ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Rang ... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Individual PNFD Archive Artifact with Range Request and NFVO not supporting ... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual PNFD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full PNFD Archive artifact. ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -76,7 +76,7 @@ GET Individual PNFD Archive Artifact with invalid resource identifier ... Test title: GET Individual PNFD Archive Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails when using an invalid resource identifier ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET Individual PNFD Archive Artifact - Not Acceptable ... Test title: GET Individual PNFD Archive Artifact - Not Acceptable ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET Individual PNFD Archive Artifact with conflict due to onboarding state ... GET Individual PNFD Archive Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD archive for which the content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ GET Individual PNFD Archive Artifact with invalid Range Request ... Test title: GET Individual PNFD Archive Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an Individual PNFD Archive fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more PNFD Archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -128,7 +128,7 @@ POST Individual PNFD Archive Artifact - Method not implemented ... Test title: POST Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an PNFD archive. ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ PUT Individual PNFD Archive Artifact - Method not implemented ... Test title: PUT Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ PATCH Individual PNFD Archive Artifact - Method not implemented ... Test title: PATCH Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ DELETE Individual PNFD Archive Artifact - Method not implemented ... Test title: DELETE Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7c.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot index 1d09528e0..3df3439ae 100644 --- a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot @@ -13,7 +13,7 @@ GET Individual PNF Descriptor Information ... Test title: GET Individual PNF Descriptor Information ... Test objective: The objective is to test the retrieval of an individual PNF Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET Individual PNF Descriptor Information with invalid resource identifier ... Test title: GET Individual PNF Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual PNF Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Update Individual PNF Descriptor ... Test title: Update Individual PNF Descriptor ... Test objective: The objective is to test the update of an individual PNF Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is modified according to the update request @@ -55,7 +55,7 @@ Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test title: Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the update of a PNF Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ POST Individual PNF Descriptor - Method not implemented ... Test title: POST Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PUT Individual PNF Descriptor - Method not implemented ... Test title: PUT Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new PNF Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ DELETE Individual PNF Descriptor ... Test title: DELETE Individual PNF Descriptor ... Test objective: The objective is to test the deletion of an individual PNF Descriptor. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is not available anymore in the NFVO diff --git a/SOL005/NSDManagement-API/IndividualSubscription.robot b/SOL005/NSDManagement-API/IndividualSubscription.robot index 4f51129e1..5a43aa484 100644 --- a/SOL005/NSDManagement-API/IndividualSubscription.robot +++ b/SOL005/NSDManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual NSD Management Subscription ... Test title: GET Individual NSD Management Subscription ... Test objective: The objective is to test the retrieval of individual NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual NSD Management Subscription with invalid resource identifier ... Test title: GET Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual NSD Management Subscription with invalid resource identifier ... Test title: DELETE Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual NSD Management Subscription - Method not implemented ... Test title: POST Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NSD Management Subscription ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual NSD Management Subscription - Method not implemented ... Test title: PUT Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NSD Management subscription ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Individual NSD Management Subscription - Method not implemented ... Test title: PATCH Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Individual NSD Management Subscription ... Test title: DELETE Individual NSD Management Subscription ... Test objective: The objective is to test the deletion of an individual NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management Subscription is not available anymore in the NFVO diff --git a/SOL005/NSDManagement-API/NSD.robot b/SOL005/NSDManagement-API/NSD.robot index b8b86427a..f1783c5da 100644 --- a/SOL005/NSDManagement-API/NSD.robot +++ b/SOL005/NSDManagement-API/NSD.robot @@ -12,7 +12,7 @@ Get single file NSD in Plain Format ... Test title: Get single file NSD in Plain Format ... Test objective: The objective is to test the retrieval of the NSD in plain format within a NSD archive and perform a validation that returned content is in plain format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -25,7 +25,7 @@ Get NSD in Zip Format ... Test title: Get NSD in Zip Format ... Test objective: The objective is to test the retrieval of the NSD in zip format within a NSD archive and perform a validation that returned content is in zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get single file NSD in Plain or Zip Format ... Test title: Get single file NSDin Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file NSD within a NSD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -51,7 +51,7 @@ Get multi file NSD in Plain or Zip Format ... Test title: Get multi file NSD in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file NSD within a NSD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a multi file ... Post-Conditions: none @@ -64,7 +64,7 @@ Get multi file NSD in Plain Format ... Test title: Get multi file NSD in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file NSD within a NSD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a multi file ... Post-Conditions: none @@ -77,7 +77,7 @@ Get NSD Content with invalid resource identifier ... Test title: Get NSD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the NSD within a NSD archive fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ Get NSD with conflict due to onboarding state ... Test title: Get NSD with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the NSD within a NSD archive fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD is different from ONBOARDED. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Get NSD with security information ... Test title: Get NSD with security information ... Test objective: The objective is to test the retrieval of the NSD within a NSD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ POST NSD - Method not implemented ... Test title: POST NSD - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PUT NSD - Method not implemented ... Test title: PUT NSD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ PATCH NSD - Method not implemented ... Test title: PATCH NSD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ DELETE NSD - Method not implemented ... Test title: DELETE NSD - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDArchiveContent.robot b/SOL005/NSDManagement-API/NSDArchiveContent.robot index 01da43ec2..645e0fd7a 100644 --- a/SOL005/NSDManagement-API/NSDArchiveContent.robot +++ b/SOL005/NSDManagement-API/NSDArchiveContent.robot @@ -24,7 +24,7 @@ Get NSD Content in Zip Format ... Test title: Get NSD Content in Zip Format ... Test objective: The objective is to test the retrieval of the NSD Content in zip format and perform a validation that returned content is in zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ Get NSD Content with invalid resource identifier ... Test title: Get NSD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the NSD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ Get NSD Content with conflict due to onboarding state ... Test title: Get NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the NSD Content fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ GET NSD Content with Range Request and NFVO supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of NSD Content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -111,7 +111,7 @@ GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of NSD Content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -124,7 +124,7 @@ GET NSD Content with invalid Range Request ... Test title: GET NSD Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of NSD Content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -137,7 +137,7 @@ Upload NSD Content as Zip file in asynchronous mode ... Test title: Upload NSD Content as Zip file in asynchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the asynchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in asynchronous mode ... Post-Conditions: NSD Uploaded @@ -161,7 +161,7 @@ Upload NSD Content as Zip file in synchronous mode ... Test title: Upload NSD Content as Zip file in synchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the synchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: The NSD content is successfully uploaded and available in the NFVO @@ -185,7 +185,7 @@ Upload NSD Content with conflict due to onboarding state ... Test title: Upload NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the NSD Content fails due to a conflict when the NSD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -198,7 +198,7 @@ POST NSD Content - Method not implemented ... Test title: POST NSD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -210,7 +210,7 @@ PATCH NSD Content - Method not implemented ... Test title: PATCH NSD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -222,7 +222,7 @@ DELETE NSD Content - Method not implemented ... Test title: DELETE NSD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDArchiveManifest.robot b/SOL005/NSDManagement-API/NSDArchiveManifest.robot index d50fc484d..88e172361 100644 --- a/SOL005/NSDManagement-API/NSDArchiveManifest.robot +++ b/SOL005/NSDManagement-API/NSDArchiveManifest.robot @@ -12,7 +12,7 @@ Get NSD Archive Manifest ... Test title: Get NSD Archive Manifest ... Test objective: The objective is to test that GET method reads the content of the manifest file within an NSD archive ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get NSD Archive Manifest with security information ... Test title: Get NSD Archive Manifest with security information ... Test objective: The objective is to test the retrieval of content of the manifest file within an NSD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get NSD Archive Manifest with conflict due to onboarding state ... Test title: Get NSD Archive Manifest with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of content of the manifest file within an NSD archive fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD is different from ONBOARDED. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST NSD Archive Manifest - Method not implemented ... Test title: POST NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT NSD Archive Manifest - Method not implemented ... Test title: PUT NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH NSD Archive Manifest - Method not implemented ... Test title: PATCH NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE NSD Archive Manifest - Method not implemented ... Test title: DELETE NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDescriptors.robot b/SOL005/NSDManagement-API/NSDescriptors.robot index 1521c90a5..41dced545 100644 --- a/SOL005/NSDManagement-API/NSDescriptors.robot +++ b/SOL005/NSDManagement-API/NSDescriptors.robot @@ -13,7 +13,7 @@ GET all Network Service Descriptors Information ... Test title: GET all Network Service Descriptors Information ... Test objective: The objective is to test the retrieval of all the Network Service Descriptors information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Network Service Descriptors Information with attribute-based filter ... Test title: GET Network Service Descriptors Information with attribute-based filter ... Test objective: The objective is to test the retrieval of Network Service Descriptors information using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Network Service Descriptors Information with invalid attribute-based filter ... Test title: GET Network Service Descriptors Information with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Network Service Descriptors information fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ Get all Network Service Descriptors Information with malformed authorization tok ... Test title: Get all Network Service Descriptors Information with malformed authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when using malformed authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -65,7 +65,7 @@ Get all Network Service Descriptors Information without authorization token ... Test title: Get all Network Service Descriptors Information without authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when omitting the authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -77,7 +77,7 @@ GET all Network Service Descriptors Information with expired or revoked authoriz ... Test title: GET all Network Service Descriptors Information with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -89,7 +89,7 @@ GET all Network Service Descriptors Information with "all_fields" attribute sele ... Test title: GET all Network Service Descriptors Information with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET all Network Service Descriptors Information with "exclude_default" attribute ... Test title: GET all Network Service Descriptors Information with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ GET all Network Service Descriptors Information with "fields" attribute selector ... Test title: GET all Network Service Descriptors Information with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "fields" attribute selector ... Post-Conditions: none @@ -131,7 +131,7 @@ GET all Network Service Descriptors Information with "exclude_fields" attribute ... Test title: GET all Network Service Descriptors Information with "exclude_fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_fields" attribute selector ... Post-Conditions: none @@ -145,7 +145,7 @@ Create new Network Service Descriptor Resource ... Test title: Create new Network Service Descriptor Resource ... Test objective: The objective is to test the creation of a new Create new Network Service Descriptor resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor resource is successfully created on the NFVO @@ -161,7 +161,7 @@ PUT all Network Service Descriptors - Method not implemented ... Test title: PUT all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ PATCH all Network Service Descriptors - Method not implemented ... Test title: PATCH all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -185,7 +185,7 @@ DELETE all Network Service Descriptors - Method not implemented ... Test title: DELETE all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptors are not deleted by the failed operation @@ -198,7 +198,7 @@ GET all Network Service Descriptors Information as Paged Response ... Test title: GET all Network Service Descriptors Information as Paged Response ... Test objective: The objective is to test the retrieval of all the Network Service Descriptors information as a Paged Response. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -211,7 +211,7 @@ Get all Network Service Descriptors Information - Bad Request Response too Big ... Test title: Get all Network Service Descriptors Information - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -224,7 +224,7 @@ GET all Network Service Descriptors Information with "exclude_default" and "fiel ... Test title: GET all Network Service Descriptors Information with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "exclude_default" and "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" and "fields" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_default" and "fields" attribute selector ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NotificationEndpoint.robot b/SOL005/NSDManagement-API/NotificationEndpoint.robot index 1b6d857a8..583404888 100644 --- a/SOL005/NSDManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSDManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ NSD Onboarding Notification ... Test title: NSD Onboarding Notification ... Test objective: The objective is to test that NSD Onboarding Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for onboarding notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ NSD Onboarding Failure Notification ... Test title: NSD Onboarding Failure Notification ... Test objective: The objective is to test that NSD Onboarding Failure Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for onboarding failure notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ NSD Change Notification ... Test title: NSD Change Notification ... Test objective: The objective is to test that NSD Change Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for change notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ NSD Deletion Notification ... Test title: NSD Deletion Notification ... Test objective: The objective is to test that NSD Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for deletion notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ Pnfd Onboarding Notification ... Test title: Pnfd Onboarding Notification ... Test objective: The objective is to test that Pnfd Onboarding Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for onboarding notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ Pnfd Onboarding Failure Notification ... Test title: Pnfd Onboarding Failure Notification ... Test objective: The objective is to test that Pnfd Onboarding Failure Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for onboarding failure notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ Pnfd Deletion Notification ... Test title: pnfd Deletion Notification ... Test objective: The objective is to test that Pnfd Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for deletion notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/Notifications.robot b/SOL005/NSDManagement-API/Notifications.robot index e6d214945..e42d67c58 100644 --- a/SOL005/NSDManagement-API/Notifications.robot +++ b/SOL005/NSDManagement-API/Notifications.robot @@ -15,7 +15,7 @@ NSD Onboarding Notification ... Test title: NSD Onboarding Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ NSD Onboarding Failure Notification ... Test title: NSD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ NSD Operational State Change Notification ... Test title: NSD Operational State Change Notification ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for operational state change notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ NSD Deletion Notification ... Test title: NSD Deletion Notification ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ PNFD Onboarding Notification ... Test title: PNFD Onboarding Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ PNFD Onboarding Failure Notification ... Test title: PNFD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PNFD Deletion Notification ... Test title: PNFD Deletion Notification ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFD.robot b/SOL005/NSDManagement-API/PNFD.robot index 0fc34982b..ef2c96c4e 100644 --- a/SOL005/NSDManagement-API/PNFD.robot +++ b/SOL005/NSDManagement-API/PNFD.robot @@ -13,7 +13,7 @@ Get single file PNFD in Plain Format ... Test title: Get single file PNFD in Plain Format ... Test objective: The objective is to test the retrieval of the PNFD in plain format within a PNFD archive and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none @@ -26,7 +26,7 @@ Get PNFD in Zip Format ... Test title: Get PNFD in Zip Format ... Test objective: The objective is to test the retrieval of the PNFD in zip format within a PNFD archive and perform a validation that returned content is in zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get single file PNFD in Plain or Zip Format ... Test title: Get single file PNFDin Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none @@ -52,7 +52,7 @@ Get multi file PNFD in Plain or Zip Format ... Test title: Get multi file PNFD in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a multi file ... Post-Conditions: none @@ -65,7 +65,7 @@ Get multi file PNFD in Plain Format ... Test title: Get multi file PNFD in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file PNFD within a PNFD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a multi file ... Post-Conditions: none @@ -78,7 +78,7 @@ Get PNFD Content with invalid resource identifier ... Test title: Get PNFD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ Get PNFD with conflict due to onboarding state ... Test title: Get PNFD with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD is different from ONBOARDED. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ Get PNFD with security information ... Test title: Get PNFD with security information ... Test objective: The objective is to test the retrieval of the PNFD within a PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ POST PNFD - Method not implemented ... Test title: POST PNFD - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PUT PNFD - Method not implemented ... Test title: PUT PNFD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ PATCH PNFD - Method not implemented ... Test title: PATCH PNFD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ DELETE PNFD - Method not implemented ... Test title: DELETE PNFD - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFDArchiveContent.robot b/SOL005/NSDManagement-API/PNFDArchiveContent.robot index dfa2f5cea..1785b3d04 100644 --- a/SOL005/NSDManagement-API/PNFDArchiveContent.robot +++ b/SOL005/NSDManagement-API/PNFDArchiveContent.robot @@ -13,7 +13,7 @@ Get PNFD Content ... Test title: Get PNFD Content ... Test objective: The objective is to test the retrieval of the PNFD Content in zip format and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get PNFD Content with invalid resource identifier ... Test title: Get PNFD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the PNFD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get PNFD Content with conflict due to onboarding state ... Test title: Get PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ Upload PNFD Content as zip file ... Test title: Upload PNFD Content as zip file ... Test objective: The objective is to test the upload of a PNFD Content in plain text format. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The uploaded PNFD content is available in the NFVO @@ -65,7 +65,7 @@ Upload PNFD Content with conflict due to onboarding state ... Test title: Upload PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from CREATED. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ POST PNFD Content - Method not implemented ... Test title: POST PNFD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH PNFD Content - Method not implemented ... Test title: PATCH PNFD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ DELETE PNFD Content - Method not implemented ... Test title: DELETE PNFD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ Get PNFD Content with Range Request and NFVO supporting Range Requests ... Test title: Get PNFD Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of the PNFD Content in plain format when using a range request to return single range of bytes from the file, with the NFVO supporting it ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ Get PNFD Content with invalid Range Request ... Test title: Get PNFD Content with invalid Range Request ... Test objective: The objective is to test the retrieval of the PNFD Content in plain format and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ Upload PNFD Archive Content ... Test title: Upload PNFD Archive Content ... Test objective: The objective is to test the PNFD archive has been accepted for uploading, but the processing has not been completed. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFDArchiveManifest.robot b/SOL005/NSDManagement-API/PNFDArchiveManifest.robot index 9882b41a6..8aa6a40e9 100644 --- a/SOL005/NSDManagement-API/PNFDArchiveManifest.robot +++ b/SOL005/NSDManagement-API/PNFDArchiveManifest.robot @@ -12,7 +12,7 @@ Get PNFD Archive Manifest ... Test title: Get PNFD Archive Manifest ... Test objective: The objective is to test that GET method reads the content of the manifest file within an PNFD archive ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get PNFD Archive Manifest with security information ... Test title: Get PNFD Archive Manifest with security information ... Test objective: The objective is to test the retrieval of content of the manifest file within an PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get PNFD Archive Manifest with conflict due to onboarding state ... Test title: Get PNFD Archive Manifest with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of content of the manifest file within an PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD is different from ONBOARDED. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST PNFD Archive Manifest - Method not implemented ... Test title: POST PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT PNFD Archive Manifest - Method not implemented ... Test title: PUT PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH PNFD Archive Manifest - Method not implemented ... Test title: PATCH PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE PNFD Archive Manifest - Method not implemented ... Test title: DELETE PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.7b.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFDescriptors.robot b/SOL005/NSDManagement-API/PNFDescriptors.robot index 7cae667af..06a1c842f 100644 --- a/SOL005/NSDManagement-API/PNFDescriptors.robot +++ b/SOL005/NSDManagement-API/PNFDescriptors.robot @@ -13,7 +13,7 @@ GET all PNF Descriptors Information ... Test title: GET all PNF Descriptors Information ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET PNF Descriptors Information with attribute-based filter ... Test title: GET PNF Descriptors Information with attribute-based filter ... Test objective: The objective is to test the retrieval of PNF Descriptors information using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET PNF Descriptors Information with invalid attribute-based filter ... Test title: GET PNF Descriptors Information with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET all PNF Descriptors Information with "all_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET all PNF Descriptors Information with "fields" attribute selector ... Test title: GET all PNF Descriptors Information with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "fields" attribute selector ... Post-Conditions: none @@ -95,7 +95,7 @@ GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_fields" attribute selector ... Post-Conditions: none @@ -109,7 +109,7 @@ Create new PNF Descriptor Resource ... Test title: Create new PNF Descriptor Resource ... Test objective: The objective is to test the creation of a new Create new PNF Descriptor resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor resource is successfully created on the NFVO @@ -124,7 +124,7 @@ PUT all PNF Descriptors - Method not implemented ... Test title: PUT all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify PNF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ PATCH all PNF Descriptors - Method not implemented ... Test title: PATCH all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ DELETE all PNF Descriptors - Method not implemented ... Test title: DELETE all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -160,7 +160,7 @@ GET all PNF Descriptors Information as Paged Response ... Test title: GET all PNF Descriptors Information as Paged Response ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information as a Paged Response. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ GET PNF Descriptors Information - Bad Request Response too Big ... Test title: GET PNF Descriptors Information - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ GET all PNF Descriptors Information with "exclude_default" and "fields" attribut ... Test title: GET all PNF Descriptors Information with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_default" and "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" and "fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_default" and "fields" attribute selector ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/Subscriptions.robot b/SOL005/NSDManagement-API/Subscriptions.robot index 170efabc2..a281c126d 100644 --- a/SOL005/NSDManagement-API/Subscriptions.robot +++ b/SOL005/NSDManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ Get All NSD Management Subscriptions ... Test title: Get All NSD Management Subscriptions ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Get NSD Management Subscriptions with attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Get NSD Management Subscriptions with invalid attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET NSD Management Subscription with invalid resource endpoint ... Test title: GET NSD Management Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ Create new NSD Management subscription ... Test title: Create new NSD Management subscription ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription @@ -84,7 +84,7 @@ Create duplicated NSD Management subscription with NFVO not creating duplicated ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO @@ -100,7 +100,7 @@ Create duplicated NSD Management subscription with NFVO creating duplicated subs ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription @@ -115,7 +115,7 @@ PUT NSD Management Subscriptions - Method not implemented ... Test title: PUT NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH NSD Management Subscriptions - Method not implemented ... Test title: PATCH NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ DELETE NSD Management Subscriptions - Method not implemented ... Test title: DELETE NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation @@ -152,7 +152,7 @@ Get All NSD Management Subscriptions as Paged Response ... Test title: Get All NSD Management Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ Get NSD Management Subscriptions - Bad Request Response too Big ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ Create new NSD Management subscription - Unprocessable Entity ... Test title: Create new NSD Management subscription - Unprocessable Entity ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From 00920bf9e4f506d1ac2729fd99f48179798f3a08 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 18:19:54 +0200 Subject: [PATCH 073/211] Removing unused variables --- .../environment/variables.txt | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/SOL005/NSDManagement-API/environment/variables.txt b/SOL005/NSDManagement-API/environment/variables.txt index 6331cfcdd..75fd2e677 100644 --- a/SOL005/NSDManagement-API/environment/variables.txt +++ b/SOL005/NSDManagement-API/environment/variables.txt @@ -11,18 +11,12 @@ ${AUTH_USAGE} 1 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${apiMajorVersion} v2 ${apiName} nsd -${FIELD_USAGE} 1 -${NFVO_AUTHENTICATION} Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 -${NFVO_AUTH_USAGE} 1 - ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callback_port} 9091 ${callback_uri} http://172.21.248.145 ${callback_endpoint} /nsd/subscriptions -${callback_endpoint_error} /subs_404 ${callback_endpoint_fwd} /endpoint/check -${sleep_interval} 20s ${notification_request} [] ${notification_response} [] @@ -31,7 +25,6 @@ ${testOptionalMethods} 0 ${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVO_ALLOWS_DUPLICATE_SUBS} 1 ${total_polling_time} 2 min ${polling_interval} 10 sec ${response} httpresponse @@ -45,7 +38,6 @@ ${newSubscriptionId} newSubsciptionId ${origResponse} httpresponse -${POS_FIELDS} nsdOnboardingState=ONBOARDED ${NEG_FIELDS} wrongName=any_value ${nsdInfoId} 5a569e1d-4ffe-4e9a-8cf6-c24226651e56 ${nsdInfoIdPlain} 5a569e1d-4ffe-4e9a-8cf6-c24226651e56 @@ -54,28 +46,19 @@ ${erroneous_nsdInfoId} erroneous_nsdInfoId ${disabledNsdInfoId} 5a569e1d-4ffe-4e9a-8cf6-c24226651e56 ${fields} _links ${NFVO_FIELDS} 1 -${Etag}= an etag -${modifiedNsdInfoId} f27200b1-1d8b-48c2-9d98-a993b8ab117f ${notOnboardedNsdInfoId} b992a851-08b1-45a8-9282-a5f7a7df04a6 ${ACCEPT_ZIP} application/zip ${ACCEPT_PLAIN} text/plain -${CONTENT_TYPE_ZIP} application/zip -${CONTENT_TYPE_PLAIN} text/plain ${onboardingStateNsdInfoId} b992a851-08b1-45a8-9282-a5f7a7df04a6 ${contentZipNsd} files/nsd.zip -${contentFileNsd} files/nsd.yml -${creatingNsdInfoId} 71241932-994a-46e2-ad6c-1740674dda44 ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${original_etag} 1234 ${wrong_etag} abcd ${usageState} state -${length} 1024 -${createdNsdInfoId} f27200b1-1d8b-48c2-9d98-a993b8ab117f ${NSD_NAME} nsdName=onBoardedNSD ${PNFD_NAME} pnfdName=onBoardedPNFD ${SEPERATOR} = ${artifactPath} artifactPath -${CONTENT_TYPE_OCTET} application/octet-stream ${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO ${range} bytes=0-1023 ${erroneousRange} bytes=100000-1000000 # Requesting a out of range number of bytes @@ -85,12 +68,8 @@ ${full_lenght} 2000 ${pnfdInfoId} 40853bda-8a8f-4f63-9130-cef439f65348 ${creatingPnfdInfoId} 71241932-994a-46e2-ad6c-1740674dda44 ${erroneous_pnfdInfoId} erroneous_pnfdInfoId -${enabledPnfdInfoId} 40853bda-8a8f-4f63-9130-cef439f65348 -${erroneous_pnfdId} erroneousPnfdId ${onboardingStatePnfdId} 8ed2bf1f-f6ae-4d18-b478-bfab02fd4cd2 ${contentZipPnfd} files/pnfd.zip -${contentFilePnfd} files/pnfd.yml -${creatingPnfdId} 2e4ce0ef-3ea8-49f9-92dd-8771866015bb ${userDefinedDataSet} some ${pnfd_artifactPath} artifactPath -- GitLab From e45ca8d5805915b5b5d5f8cf8a7759814f4753f9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 16:58:59 +0200 Subject: [PATCH 074/211] updated SOL005 VNF Pckg refs to v3.5.1 --- ...essConfigurationForExternalArtifacts.robot | 16 +++++----- .../IndividualSubscription.robot | 14 ++++---- .../IndividualVNFPackage.robot | 22 ++++++------- .../IndividualVNFPackageArtifacts.robot | 22 ++++++------- .../ManifestInIndividualVNFPackage.robot | 16 +++++----- .../NotificationEndpoint.robot | 4 +-- .../Notifications.robot | 6 ++-- .../Subscriptions.robot | 22 ++++++------- .../VNFDInIndividualVNFPackage.robot | 16 +++++----- .../VNFPackageArtifacts.robot | 30 ++++++++--------- .../VNFPackageContent.robot | 22 ++++++------- .../VNFPackageContentViaURI.robot | 12 +++---- .../VNFPackages.robot | 32 +++++++++---------- 13 files changed, 117 insertions(+), 117 deletions(-) diff --git a/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot b/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot index c091c6d08..a31643a2f 100644 --- a/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot @@ -11,7 +11,7 @@ Get Access configuration for external artifacts ... Test title: Get Access configuration for external artifacts ... Test objective: The objective is to test the GET method reads the access configuration information that is used by the NFVO to get the content of external VNF package artifacts and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Access configuration for external artifacts - Not Found ... Test title: Get Access configuration for external artifacts - Not Found ... Test objective: The objective is to test that the retrieval of access configuration information that is used by the NFVO to get the content of external VNF package artifacts fails because resource is not present. ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Access configuration for external artifacts ... Test title: Access configuration for external artifacts ... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Access configuration for external artifacts - Downloading ... Test title: Access configuration for external artifacts - Downloading ... Test objective: The objective is to test that VNF package has been uploaded successfully previously, to indicate that the access configuration information has been stored successfully by the NFVO and the NFVO now starts downloading external artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Access configuration for external artifacts - Conflict ... Test title: Access configuration for external artifacts ... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute is neither "CREATED" nor "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ POST Access configuration for external artifacts - Method not implemented ... Test title: POST Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Access configuration for external artifacts - Method not implemented ... Test title: PATCH Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE Access configuration for external artifacts - Method not implemented ... Test title: DELETE Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot index c93d809e6..f3e5aeac7 100644 --- a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot +++ b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Subscription ... Test title: GET Individual VNF Package Subscription ... Test objective: The objective is to test the retrieval of individual VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package Subscription with invalid resource identifier ... Test title: GET Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual VNF Package Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual VNF Package Subscription - Method not implemented ... Test title: POST Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Package Subscription ... Pre-conditions: none - ... Reference: Clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual VNF Package Subscription - Method not implemented ... Test title: PUT Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Individual VNF Package Subscription - Method not implemented ... Test title: PATCH Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Individual VNF Package Subscription ... Test title: DELETE Individual VNF Package Subscription ... Test objective: The objective is to test the deletion of an individual VNF package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not available anymore in the NFVO diff --git a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot index f82518bbf..d49526bbd 100644 --- a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot @@ -11,7 +11,7 @@ GET Individual VNF Package ... Test title: GET Individual VNF Package ... Test objective: The objective is to test the retrieval of an individual VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual VNF Package with invalid resource identifier ... Test title: GET Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Individual VNF Package - Method not implemented ... Test title: POST Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual VNF Package - Method not implemented ... Test title: PUT Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Disable Individual VNF Package ... Test title: Disable Individual VNF Package ... Test objective: The objective is to test the disabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state. - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state DISABLED @@ -77,7 +77,7 @@ Disable Individual VNF Package with conflict due to operational state DISABLED ... Test title: Disable Individual VNF Package with conflict due to operational state DISABLED ... Test objective: The objective is to test that disabling an individual VNF Package that is already in DISABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ Enable Individual VNF Package ... Test title: Enable Individual VNF Package ... Test objective: The objective is to test the enabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state ENABLED @@ -104,7 +104,7 @@ Enable Individual VNF Package with conflict due to operational state ENABLED ... Test title: Enable Individual VNF Package with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual VNF Package that is already in ENABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.5.2.7). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE Individual VNF Package ... Test title: DELETE Individual VNF Package ... Test objective: The objective is to test the deletion of an individual VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO in DISABLED operational state - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not available anymore in the NFVO @@ -130,7 +130,7 @@ DELETE Individual VNF Package in operational state ENABLED ... Test title: DELETE Individual VNF Package in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual VNF Package in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF Package are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.7). - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. @@ -144,7 +144,7 @@ DELETE Individual VNF Package used for instantiated VNF instances ... Test title: DELETE Individual VNF Package used for instantiated VNF instances ... Test objective: The objective is to test that the deletion of an individual VNF Package that is used in instantiated VNF instances fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF instances are instantiated based on the concerned VNF package. - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. diff --git a/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot b/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot index 9dc4ddf0b..c490e2b27 100644 --- a/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot @@ -11,7 +11,7 @@ GET Individual VNF Package Artifact ... Test title: GET Individual VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual VNF Package Artifact in octet stream format ... Test title: GET Individual VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -36,7 +36,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -62,7 +62,7 @@ GET Individual VNF Package Artifact with invalid Range Request ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -74,7 +74,7 @@ GET Individual VNF Package Artifact with invalid resource identifier ... Test title: GET Individual VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET Individual VNF Package Artifact with conflict due to onboarding state ... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Individual VNF Package Artifact - Method not implemented ... Test title: POST Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PUT Individual VNF Package Artifact - Method not implemented ... Test title: PUT Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ PATCH Individual VNF Package Artifact - Method not implemented ... Test title: PATCH Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ DELETE Individual VNF Package Artifact - Method not implemented ... Test title: DELETE Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot index c1e6b1c69..207ebda43 100644 --- a/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot @@ -11,7 +11,7 @@ Get Manifest in Individual VNF Package ... Test title: Get Manifest in Individual VNF Package ... Test objective: The objective is to test that content of manifest within a NVF Package is read successfully. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Manifest in Individual VNF Package with security information ... Test title: Get Manifest in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of the Manifest in individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get Manifest in Individual VNF Package - Not Acceptable ... Test title: Get Manifest in Individual VNF Package - Not Acceptable ... Test objective: The objective is to test that the "Accept" header is not compatible with Content type "application/zip" but "incude_signature" is provided.\ ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get Manifest in Individual VNF Package - Conflict ... Test title: Get Manifest in Individual VNF Package - Conflict ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the resource. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Manifest in Individual VNF Package - Method not implemented ... Test title: POST Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new Manifest ... Pre-conditions: none - ... Reference: Clause 9.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Manifest in Individual VNF Package - Method not implemented ... Test title: PUT Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Manifest in Individual VNF Package - Method not implemented ... Test title: PATCH Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ DELETE Manifest in Individual VNF Package - Method not implemented ... Test title: DELETE Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot b/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot index 9f3f62c6b..d32657303 100644 --- a/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot +++ b/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test that VNF Package Onboarding Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ VNF Package Change Notification ... Test title: VNF Package Change Notification ... Test objective: The objective is to test that VNF Package Change Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/Notifications.robot b/SOL005/VNFPackageManagement-API/Notifications.robot index 77f29f526..45a4a3de9 100644 --- a/SOL005/VNFPackageManagement-API/Notifications.robot +++ b/SOL005/VNFPackageManagement-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test the dispatch of VNF Package Onboarding notification when the VNF package onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Package Operational State Change Notification ... Test title: VNF Package Operational State Change Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package operational state is modified, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ VNF Package Deletion Notification ... Test title: VNF Package Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package is deleted on the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/Subscriptions.robot b/SOL005/VNFPackageManagement-API/Subscriptions.robot index af0c75125..7fb07db46 100644 --- a/SOL005/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL005/VNFPackageManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Get All VNF Package Subscriptions ... Test title: GET all VNF Package Subscriptions ... Test objective: The objective is to test the retrieval of all VNF package subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Get VNF Package Subscriptions with attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF package subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Get VNF Package Subscriptions with invalid attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Package Subscription with invalid resource endpoint ... Test title: GET VNF Package Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF package subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF Package subscription ... Test title: Create new VNF Package subscription ... Test objective: The objective is to test the creation of a new VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscription is successfully set and it matches the issued subscription @@ -85,7 +85,7 @@ Create duplicated VNF Package subscription with NFVO not creating duplicated sub ... Test title: Create duplicated VNF Package subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF package subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF package subscription returned is available in the NFVO @@ -101,7 +101,7 @@ Create duplicated VNF Package subscription with NFVO creating duplicated subscri ... Test title: Create duplicated VNF Package subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF package subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF package subscription is successfully set and it matches the issued subscription @@ -116,7 +116,7 @@ PUT VNF Package Subscriptions - Method not implemented ... Test title: PUT VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH VNF Package Subscriptions - Method not implemented ... Test title: PATCH VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ Get All VNF Package Subscriptions as Paged Response ... Test title: GET all VNF Package Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all VNF package subscriptions as paged response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ Get VNF Package Subscriptions - Bad Request Response too Big ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot index 4c987c2ba..f549524c6 100644 --- a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot @@ -22,7 +22,7 @@ Get VNFD in Individual VNF Package in Zip Format ... Test title: Get VNFD in Individual VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test title: Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ POST VNFD in Individual VNF Package - Method not implemented ... Test title: POST VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: Clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ PUT VNFD in Individual VNF Package - Method not implemented ... Test title: PUT VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ PATCH VNFD in Individual VNF Package - Method not implemented ... Test title: PATCH VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ DELETE VNFD in Individual VNF Package - Method not implemented ... Test title: DELETE VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ Get VNFD in Individual VNF Package with security information ... Test title: Get VNFD in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot index 13a2c2f7f..ff50ec412 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot @@ -12,7 +12,7 @@ Get VNF Package Artifact ... Test title: Get VNF Package Artifact ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain additional MANO artifacts when requested with "exclude_all_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain non-MANO Artifacts when requested with "exclude_all_non_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test title: Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain non_MANO artifacts set when requested with "select_non_mano_artifact_sets" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ Get VNF Package Artifact with "include_signatures" parameter ... Test title: Get VNF Package Artifact with "include_signatures" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test title: Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the GET request read the whole content of the archive containing the artifact files successfully when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -91,7 +91,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "select_non_mano_artifact_sets" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "select_non_mano_artifact_sets" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "exclude_all_mano_artifactss" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "exclude_all_mano_artifacts" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ Get VNF Package Artifact with invalid URI parameters undifend select_non_mano_ar ... Test title: Get VNF Package Artifact with invalid URI parameters undefined select_non_mano_artifact_sets ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when one or more value provided in "select_non_mano_artifact_sets" are not provided in Manifest. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ Get VNF Package Artifact with conflict due to onboarding state ... Test title: Get VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -143,7 +143,7 @@ GET VNF Package Artifact with invalid Range Request ... Test title: GET VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -156,7 +156,7 @@ POST VNF Package Artifact - Method not implemented ... Test title: POST VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 9.4.5a.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT VNF Package Artifact - Method not implemented ... Test title: PUT VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE VNF Package Artifact - Method not implemented ... Test title: DELETE VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -204,7 +204,7 @@ Get VNF Package Artifact with "include_external_artifacts" parameter ... Test title: Get VNF Package Artifact with "include_external_artifacts" parameter ... Test objective: The objective is to test that GET request reads the whole content of the archive containing the external artifacts successfully when requested with "include_external_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot index 7a3675df3..84ff07978 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Content ... Test title: GET Individual VNF Package Content ... Test objective: The objective is to test the retrieval of an individual VNF package content and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual VNF Package Content with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Individual VNF Package Content with Range Request and NFVO not supporting Ra ... Test title: GET Individual VNF Package Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Individual VNF Package Content with invalid Range Request ... Test title: GET Individual VNF Package Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -65,7 +65,7 @@ GET Individual VNF Package Content with invalid resource identifier ... Test title: GET Individual VNF Package Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ GET Individual VNF Package Content with conflict due to onboarding state ... Test title: GET Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ POST Individual VNF Package Content - Method not implemented ... Test title: POST Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package content ... Pre-conditions: none - ... Reference: Clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Upload VNF Package Content ... Test title: Upload VNF Package Content ... Test objective: The objective is to test the upload of a VNF Package Content in Zip format. ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is successfully uploaded and available in the NFVO @@ -116,7 +116,7 @@ Upload VNF Package Content with conflict due to onboarding state ... Test title: Upload VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH Individual VNF Package Content - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE Individual VNF Package Content - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot index 17f4ce6f9..bbb89d44c 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot @@ -12,7 +12,7 @@ Upload VNF Package Content from URI ... Test title: Upload VNF Package Content from URI ... Test objective: The objective is to test the upload of a VNF Package Content from URI. ... Pre-conditions: One or more VNF Packages are in onboarding state CREATED in the NFVO. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Upload VNF Package Content from URI with conflict due to onboarding state ... Test title: Upload VNF Package Content from URI with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content from URI fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual VNF Package Content from URI - Method not implemented ... Test title: GET Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Package Content from URI - Method not implemented ... Test title: PUT Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Package Content from URI - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Package Content from URI - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackages.robot b/SOL005/VNFPackageManagement-API/VNFPackages.robot index ebb6eaf3a..b75af30f5 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackages.robot @@ -11,7 +11,7 @@ GET all VNF Packages ... Test title: GET all VNF Packages ... Test objective: The objective is to test the retrieval of all the available VNF packages information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET VNF Packages with attribute-based filter ... Test title: GET VNF Packages with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF packages using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET VNF Packages with invalid attribute-based filter ... Test title: GET VNF Packages with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ Get all VNF Packages with malformed authorization token ... Test title: Get all VNF Packages Information with malformed authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when using malformed authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -67,7 +67,7 @@ Get all VNF Packages without authorization token ... Test title: Get all VNF Packages without authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when omitting the authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -79,7 +79,7 @@ GET VNF Packages with "all_fields" attribute selector ... Test title: GET VNF Packages with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET VNF Packages with "exclude_default" attribute selector ... Test title: GET VNF Packages with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ GET VNF Packages with "fields" attribute selector ... Test title: GET VNF Packages with fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of fields attribute selector ... Post-Conditions: none @@ -121,7 +121,7 @@ GET VNF Packages with "exclude_fields" attribute selector ... Test title: GET VNF Packages with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -135,7 +135,7 @@ GET all VNF Packages with invalid resource endpoint ... Test title: GET VNF Packages with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid resource endpoint ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ Create new VNF Package Resource ... Test title: Create new VNF Package Resource ... Test objective: The objective is to test the creation of a new VNF Package Resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Resource is successfully created on the NFVO @@ -164,7 +164,7 @@ PUT all VNF Packages - Method not implemented ... Test title: PUT all VNF Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -176,7 +176,7 @@ PATCH all VNF Packages - Method not implemented ... Test title: PATCH all VNF Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -188,7 +188,7 @@ DELETE all VNF Packages - Method not implemented ... Test title: DELETE all VNF Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -200,7 +200,7 @@ GET all VNF Packages as Paged Response ... Test title: GET all VNF Packages as Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF packages information as paged response. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -213,7 +213,7 @@ GET VNF Packages - Bad Request Response too Big ... Test title: GET VNF Packages - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF packages fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From 60208a15eca73462d52c39ce82162ce0d9a8d7a9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 17:03:29 +0200 Subject: [PATCH 075/211] updated schemas to v3.5.1 for Vnf Pckg --- .../schemas/vnfPkgInfo.schema.json | 583 +++++++++--------- .../schemas/vnfPkgsInfo.schema.json | 226 +++---- 2 files changed, 412 insertions(+), 397 deletions(-) diff --git a/SOL005/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json b/SOL005/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json index e59e95d80..c4aca2399 100644 --- a/SOL005/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json +++ b/SOL005/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json @@ -1,290 +1,297 @@ { - "type": "object", - "required": [ - "id", - "onboardingState", - "operationalState", - "usageState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "softwareImages": { - "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image. \n", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the software image.\n", - "type": "string" - }, - "name": { - "description": "Name of the software image.\n", - "type": "string" - }, - "provider": { - "description": "Provider of the software image.\n", - "type": "string" - }, - "version": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "The minimal disk for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "The minimal RAM for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Size of this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", - "type": "string" - } - } - } - }, - "additionalArtifacts": { - "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", - "required": [ - "artifactPath", - "checksum" - ], - "type": "object", - "properties": { - "artifactPath": { - "description": "This type represents stack of string values\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "onboardingState": { - "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded.\n", - "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "usageState": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfd": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents the information of a VNF package. It shall comply with the provisions defined in table 9.5.2.5-1.\nNOTE 1:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the operationalState attribute shall be equal to \"DISABLED\". NOTE 2:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the usageState attribute shall be equal to \"NOT_IN_USE\". NOTE 3:\tState changes of a VNF package are illustrated in clause B.2. NOTE 4:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n", + "type": "object", + "required": ["id", "onboardingState", "operationalState", "usageState", "vnfmInfo", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "compatibleSpecificationVersions": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" + } + } + }, + "packageSecurityOption": { + "description": "Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004. It shall be present after the VNF package content has been on-boarded and absent otherwise. Valid values: - OPTION_1 - OPTION_2\n", + "type": "string", + "enum": ["OPTION_1", "OPTION_2"] + }, + "signingCertificate": { + "description": "The singleton signing certificate if it is included as a file in the VNF package.\n", + "type": "string" + }, + "softwareImages": { + "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "array", + "items": { + "description": "This type represents an artifact contained in or external to a VNF package which represents a software image. NOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\". NOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\".\n", + "required": ["id", "name", "provider", "version", "checksum", "isEncrypted", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size", "imagePath"], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "name": { + "description": "Name of the software image.\n", + "type": "string" + }, + "provider": { + "description": "Provider of the software image.\n", + "type": "string" + }, + "version": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" + } + } + }, + "isEncrypted": { + "description": "Reflects whether the image is encrypted (true) or not (false).\n", + "type": "boolean" + }, + "containerFormat": { + "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\nSee note 1.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] + }, + "diskFormat": { + "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nSee note 2.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "minDisk": { + "description": "The minimal disk for this software image in bytes.\n", + "type": "integer", + "minimum": 0 + }, + "minRam": { + "description": "The minimal RAM for this software image in bytes.\n", + "type": "integer", + "minimum": 0 + }, + "size": { + "description": "Size of this software image in bytes.\n", + "type": "integer", + "minimum": 0 + }, + "userMetadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "imagePath": { + "description": "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n", + "type": "string" + }, + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + } + } + } + }, + "additionalArtifacts": { + "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", + "type": "array", + "items": { + "description": "This type represents an artifact other than a software image which is contained in or external to a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", + "required": ["isEncrypted", "checksum"], + "type": "object", + "properties": { + "artifactPath": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactURI": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "checksum": { + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], + "type": "object", + "properties": { + "algorithm": { + "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the checksum.\n", + "type": "string" + } + } + }, + "isEncrypted": { + "description": "Reflects whether the artifact is encrypted (true) or not (false).\n", + "type": "boolean" + }, + "nonManoArtifactSetId": { + "description": "Non-MANO artifact set identifier of the non-MANO artifact set to which the artifact belongs, as defined in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be provided if the artifact is a non-MANO artifact, and shall be omitted otherwise.\n", + "type": "string" + }, + "artifactClassification": { + "description": "Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present. Valid values: - HISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 - TESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 - LICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004\n", + "type": "string", + "enum": ["HISTORY", "TESTING", "LICENSE"] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "onboardingState": { + "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded. - ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing.\n", + "type": "string", + "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR"] + }, + "operationalState": { + "type": "string", + "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: - ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. - DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", + "enum": ["ENABLED", "DISABLED"] + }, + "usageState": { + "type": "string", + "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: - IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"individual VNF instance\" resource created from this VNF package exists.\n", + "enum": ["IN_USE", "NOT_IN_USE"] + }, + "vnfmInfo": { + "description": "Specifies VNFMs compatible with the VNF. This information is copied from the VNFD. See note 4.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "onboardingFailureDetails": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "type": "object", + "description": "Links to resources related to this resource.\n", + "required": ["self", "packageContent", "vnfd"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "vnfd": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "packageContent": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json b/SOL005/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json index 709e7d470..a3b8c3071 100644 --- a/SOL005/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json +++ b/SOL005/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json @@ -1,13 +1,10 @@ { "type": "array", - "items": { + "items": + { + "description": "This type represents the information of a VNF package. It shall comply with the provisions defined in table 9.5.2.5-1.\nNOTE 1:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the operationalState attribute shall be equal to \"DISABLED\". NOTE 2:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the usageState attribute shall be equal to \"NOT_IN_USE\". NOTE 3:\tState changes of a VNF package are illustrated in clause B.2. NOTE 4:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n", "type": "object", - "required": [ - "id", - "onboardingState", - "operationalState", - "usageState" - ], + "required": ["id", "onboardingState", "operationalState", "usageState", "vnfmInfo", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -26,19 +23,20 @@ "type": "string" }, "vnfSoftwareVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", + "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "vnfdVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "compatibleSpecificationVersions": { + "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -51,29 +49,25 @@ } } }, + "packageSecurityOption": { + "description": "Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004. It shall be present after the VNF package content has been on-boarded and absent otherwise. Valid values: - OPTION_1 - OPTION_2\n", + "type": "string", + "enum": ["OPTION_1", "OPTION_2"] + }, + "signingCertificate": { + "description": "The singleton signing certificate if it is included as a file in the VNF package.\n", + "type": "string" + }, "softwareImages": { "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", "type": "array", "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image. \n", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], + "description": "This type represents an artifact contained in or external to a VNF package which represents a software image. NOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\". NOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\".\n", + "required": ["id", "name", "provider", "version", "checksum", "isEncrypted", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size", "imagePath"], "type": "object", "properties": { "id": { - "description": "Identifier of the software image.\n", + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", "type": "string" }, "name": { @@ -85,15 +79,12 @@ "type": "string" }, "version": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", + "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -106,38 +97,22 @@ } } }, + "isEncrypted": { + "description": "Reflects whether the image is encrypted (true) or not (false).\n", + "type": "boolean" + }, "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\n", + "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\nSee note 1.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] }, "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\n", + "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nSee note 2.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] }, "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", "format": "date-time" }, "minDisk": { @@ -156,12 +131,17 @@ "minimum": 0 }, "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", + "description": "Path, which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE:\tfoo/bar/m%40ster.vhd\nFor an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n", "type": "string" + }, + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" } } } @@ -170,23 +150,22 @@ "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", "type": "array", "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", - "required": [ - "artifactPath", - "checksum" - ], + "description": "This type represents an artifact other than a software image which is contained in or external to a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", + "required": ["isEncrypted", "checksum"], "type": "object", "properties": { "artifactPath": { - "description": "This type represents stack of string values\n", + "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, + "artifactURI": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], + "description": "This type represents the checksum of a VNF package or an artifact file.\n", + "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { @@ -199,60 +178,93 @@ } } }, + "isEncrypted": { + "description": "Reflects whether the artifact is encrypted (true) or not (false).\n", + "type": "boolean" + }, + "nonManoArtifactSetId": { + "description": "Non-MANO artifact set identifier of the non-MANO artifact set to which the artifact belongs, as defined in clause 4.3.7 of ETSI GS NFV-SOL 004 [5]. Shall be provided if the artifact is a non-MANO artifact, and shall be omitted otherwise.\n", + "type": "string" + }, + "artifactClassification": { + "description": "Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present. Valid values: - HISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 - TESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 - LICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004\n", + "type": "string", + "enum": ["HISTORY", "TESTING", "LICENSE"] + }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "onboardingState": { - "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded.\n", + "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded. - ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing.\n", "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] + "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR"] }, "operationalState": { "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] + "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: - ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. - DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", + "enum": ["ENABLED", "DISABLED"] }, "usageState": { "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] + "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: - IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"individual VNF instance\" resource created from this VNF package exists.\n", + "enum": ["IN_USE", "NOT_IN_USE"] + }, + "vnfmInfo": { + "description": "Specifies VNFMs compatible with the VNF. This information is copied from the VNFD. See note 4.\n", + "type": "array", + "items": { + "type": "string" + } }, "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, + "onboardingFailureDetails": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, "_links": { "type": "object", "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "packageContent" - ], + "required": ["self", "packageContent", "vnfd"], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -261,12 +273,10 @@ "vnfd": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -275,12 +285,10 @@ "packageContent": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } -- GitLab From 29b39b37cc17044fe68e3e39f7233ec1dd960e2b Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 18:22:14 +0200 Subject: [PATCH 076/211] Removing unused variables --- .../environment/variables.txt | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/SOL005/VNFPackageManagement-API/environment/variables.txt b/SOL005/VNFPackageManagement-API/environment/variables.txt index f2c1e1446..8a4dfde1b 100644 --- a/SOL005/VNFPackageManagement-API/environment/variables.txt +++ b/SOL005/VNFPackageManagement-API/environment/variables.txt @@ -9,14 +9,10 @@ ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${apiRoot} / ${AUTH_USAGE} 1 -${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${apiMajorVersion} v2 ${apiName} vnfpkgm -${FIELD_USAGE} 1 -${NFVO_PLAIN} 1 ${NFVO_FIELDS} 1 -${testOptionalMethods} 0 ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar @@ -24,8 +20,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -54,17 +48,11 @@ ${contentZipVnfPackage} files/vnfPackage.zip ${ACCEPT_PLAIN} text/plain ${ACCEPT_ZIP} application/zip -${CONTENT_TYPE_PLAIN} text/plain -${CONTENT_TYPE_ZIP} application/zip -${NFVO_VNFD_PLAIN} 1 -${NFVO_VNFD_ZIP} 0 -${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File ${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files ${erroneousVnfPkgId} erroneousPkgId ${onboardingStateVnfPkgId} 788106a2-d692-44f3-a86d-384f0ce35e42 # The VNF Package is in CREATED onboardingState ${artifactPath} artifactPath -${CONTENT_TYPE_OCTET} application/octet-stream ${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO ${range} bytes=0-1023 ${full_size} 2000 # Size of the requested artifact to be downloaded via partial downloads @@ -77,7 +65,6 @@ ${newVnfPackageId} d246ccdd-71aa-402f-b256-6a80ee54be3d ${POS_FILTER} vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8&vnfProvider=NXW # Positive case, suing compiant fields name for filtering get request ${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field -${CAN_FILTER} 1 # NFVO in able to use filters when retrieving VNF Packages ${fields} softwareImages,additionalArtifacts ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${VAR_SEPERATOR} & @@ -102,9 +89,6 @@ ${tosca_type_storage} tosca.nodes.nfv.Vdu.VirtualBlockStorage ${tosca_type_derived_from_VNF} ${VDU_IDs} -${VNF_IDs} -${virtualLink_IDs} -${CP_IDs} ${Storage_IDs} ${internalCP_IDs} ${externalCP_IDs} -- GitLab From 0c5662ae9b4518aa12a13c381ea0e88a2adf321f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 17:11:05 +0200 Subject: [PATCH 077/211] updated SOL005 NS PM refs to v3.5.1 --- .../IndividualPmJob.robot | 18 +++++------ .../IndividualReport.robot | 12 +++---- .../IndividualThreshold.robot | 18 +++++------ .../NotificationEndpoint.robot | 4 +-- .../Notifications.robot | 4 +-- .../NSPerformanceManagement-API/PMJobs.robot | 32 +++++++++---------- .../Thresholds.robot | 22 ++++++------- 7 files changed, 55 insertions(+), 55 deletions(-) diff --git a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot index a087adf08..5220e8583 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot @@ -11,7 +11,7 @@ GET individual NS Performance Job ... Test title: Get individual NS Performance Job ... Test objective: The objective is to test the retrieval of an individual NS Performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET individual NS Performance Job with invalid resource identifier ... Test title: Get individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS Performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual NS Performance Job with invalid resource identifier ... Test title: Delete individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NS Performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ POST Individual NS Performance Job - Method not implemented ... Test title: POST Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual NS Performance Job - Method not implemented ... Test title: PUT Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ PATCH Individual NS Performance Job ... Test title: PATCH Individual NS Performance Job ... Test objective: The objective is to test that PATCH method modify an existing new NS Performance Monitoring Job ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Resource modified @@ -87,7 +87,7 @@ DELETE Individual NS Performance Job ... Test title: Delete Individual NS Performance Job ... Test objective: The objective is to test the deletion of an individual NS Performance monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is no more available in the NFVO @@ -100,7 +100,7 @@ PATCH Individual NS Performance Job - Precondition failed ... Test title: PATCH Individual NS Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual NS Performance job fails, where the precondition was not met ... Pre-conditions: The related job already exist - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The resource is not modified @@ -113,7 +113,7 @@ PATCH Individual NS Performance Job - Unprocessable Entity ... Test title: PATCH Individual NS Performance Job - Unprocessable Entity ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/IndividualReport.robot b/SOL005/NSPerformanceManagement-API/IndividualReport.robot index 0f2c4b5ab..44e8ef652 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualReport.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual NS performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NS performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot index 67f24ec81..1a55bfb77 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot @@ -13,7 +13,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NS performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance Threshold ... Pre-conditions: A NS instance is instantiated - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method modify an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is modified by the operation @@ -90,7 +90,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not available anymore in the NFVO @@ -103,7 +103,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Precondition failed ... Test objective: The objective is to attempt to Modify an individual NS Performance threshold fails, where the precondition was not met ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -117,7 +117,7 @@ PATCH Individual Threshold - Unprocessable Entity ... Test title: PATCH Individual NS Performance Job - Unprocessable Entity ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation diff --git a/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot b/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot index 5787d497a..94bea6251 100644 --- a/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ NS Performance Information Availability Notification ... Test title: NS Performance Information Availability Notification ... Test objective: The objective is to test that NS Performance Information Availability Notification is delivered with success to the notification consumer ... Pre-conditions: A NS performance job is created, and information availability notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ NS Threshold Crossed Notification ... Test title: NS Threshold Crossed Notification ... Test objective: The objective is to test that NS Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A NS performance job is created, and threshold crossed notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/Notifications.robot b/SOL005/NSPerformanceManagement-API/Notifications.robot index 82e77fc74..af3a71f63 100644 --- a/SOL005/NSPerformanceManagement-API/Notifications.robot +++ b/SOL005/NSPerformanceManagement-API/Notifications.robot @@ -16,7 +16,7 @@ NS Performance Information Availability Notification ... Test title: NS Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of NS Performance Information Availability Notification when new NS performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a subscription for information availability notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ NS Threshold Crossed Notification ... Test title: NS Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of NS Threshold Crossed Notification when a previously set NS performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a threshold subscription is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/PMJobs.robot b/SOL005/NSPerformanceManagement-API/PMJobs.robot index d36888cb4..404770817 100644 --- a/SOL005/NSPerformanceManagement-API/PMJobs.robot +++ b/SOL005/NSPerformanceManagement-API/PMJobs.robot @@ -13,7 +13,7 @@ GET all NS Performance Monitoring Jobs ... Test title: GET all NS Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET NS Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NS Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NS performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "all_fields" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude_default" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET all NS Performance Monitoring Jobs with "fields" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "fields" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "include" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "include" attribute selector ... Post-Conditions: none @@ -83,7 +83,7 @@ GET all NS Performance Monitoring Jobs with "exclude" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude" attribute selector ... Post-Conditions: none @@ -97,7 +97,7 @@ GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ Create new NS Performance Monitoring Job ... Test title: Create a new NS Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NS performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is successfully created on the NFVO @@ -137,7 +137,7 @@ PUT all NS Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -149,7 +149,7 @@ PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ GET all NS Performance Monitoring Jobs as Paged Response ... Test title: GET all NS Performance Monitoring Jobs as Paged Response ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs as paged response. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ GET NS Performance Monitoring Jobs - Bad Request Response too Big ... Test title: GET NS Performance Monitoring Jobs - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -199,7 +199,7 @@ GET all NS Performance Monitoring Jobs with "fields" and "exclude_default" attri ... Test title: GET all NS Performance Monitoring Jobs with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "fields" and "exclude_default" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "include" attribute selector ... Post-Conditions: none @@ -213,7 +213,7 @@ POST new NS Performance Monitoring Job - Unprocessable Entity ... Test title: POST new NS Performance Monitoring Job - Unprocessable Entity ... Test objective: The objective is to test the creation of a new NS performance monitoring job fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] V3.3.1 + ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/Thresholds.robot b/SOL005/NSPerformanceManagement-API/Thresholds.robot index 4ef77d53b..6c662383a 100644 --- a/SOL005/NSPerformanceManagement-API/Thresholds.robot +++ b/SOL005/NSPerformanceManagement-API/Thresholds.robot @@ -13,7 +13,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NS performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A NS instance is instantiated. - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is successfully created on the NFVO @@ -81,7 +81,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ GET All Performance Thresholds as Paged Response ... Test title: GET All Performance Thresholds as Paged Response ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds as paged response. ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ GET Performance Thresholds - Bad Request Response too Big ... Test title: GET Performance Thresholds - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -143,7 +143,7 @@ POST new Performance Threshold - Unprocessable Entity ... Test title: POST new Performance Threshold - Unprocessable Entity ... Test objective: The objective is to test the creation of a new NS performance threshold fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] V3.3.1 + ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From f8f4621e6fe5fd6497545083685910f3eb4230c8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 17:35:08 +0200 Subject: [PATCH 078/211] updated SOL005 NS PM job creeation and update with mandatory test notification endpoint --- .../IndividualPmJob.robot | 5 ++++ .../IndividualThreshold.robot | 5 ++++ .../NSPerformanceManagementKeywords.robot | 30 +++++++++++++++++-- .../NSPerformanceManagement-API/PMJobs.robot | 4 +++ .../Thresholds.robot | 5 ++++ .../jsons/CreatePmJobRequest.json | 2 +- .../jsons/CreateThresholdRequest.json | 2 +- .../jsons/PmJobModifications.json | 2 +- .../jsons/ThresholdModifications.json | 2 +- 9 files changed, 51 insertions(+), 6 deletions(-) diff --git a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot index 5220e8583..3db568934 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot @@ -4,6 +4,11 @@ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Resource NSPerformanceManagementKeywords.robot Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET individual NS Performance Job diff --git a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot index 1a55bfb77..2a61c5b14 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot @@ -6,6 +6,11 @@ Resource NSPerformanceManagementKeywords.robot Library JSONLibrary Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem +Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET Individual Threshold diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index 69f8826c5..29e0c5623 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -92,10 +92,19 @@ Send Post Request Create new NS Performance Monitoring Job Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} pmJobId=${pmJobId} + ${body}= Format String ${template} pmJobId=${pmJobId} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Send POST request for NS Performance Monitoring Job with unprocessable entity Log trying to create a new NS PM Job @@ -103,10 +112,18 @@ Send POST request for NS Performance Monitoring Job with unprocessable entity Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callback_uri=${unreachable_callback_uri}:${callback_port} + ${body}= Format String ${template} pmJobId=${pmJobId} callbackUri=${callback_uri} callbackEndpoint=${unreachable_callback_uri} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send PUT Request for all NS Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented @@ -251,9 +268,18 @@ Send Patch request for individual NS Performance Job Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/PmJobModifications.json + ${body}= Format String ${body} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for individual NS Performance Job - Etag mismatch Log Trying to perform a PATCH diff --git a/SOL005/NSPerformanceManagement-API/PMJobs.robot b/SOL005/NSPerformanceManagement-API/PMJobs.robot index 404770817..bbb6ef7eb 100644 --- a/SOL005/NSPerformanceManagement-API/PMJobs.robot +++ b/SOL005/NSPerformanceManagement-API/PMJobs.robot @@ -6,6 +6,10 @@ Library JSONLibrary Library OperatingSystem Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET all NS Performance Monitoring Jobs diff --git a/SOL005/NSPerformanceManagement-API/Thresholds.robot b/SOL005/NSPerformanceManagement-API/Thresholds.robot index 6c662383a..60f8f13ac 100644 --- a/SOL005/NSPerformanceManagement-API/Thresholds.robot +++ b/SOL005/NSPerformanceManagement-API/Thresholds.robot @@ -6,6 +6,11 @@ Resource NSPerformanceManagementKeywords.robot Library JSONLibrary Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem +Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET All Performance Thresholds diff --git a/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json index f9f668265..2f55c065c 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -6,5 +6,5 @@ "collectionPeriod": {collectionPeriod}, "reportingPeriod": {reportingPeriod} }}, - "callbackUri": "{callback_uri}" + "callbackUri": "{callbackUri}:{callbackPort}{callbackEndpoint}" }} \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json index 44a0b5981..145f2d681 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -8,5 +8,5 @@ "hysteresis": {hysteresis} }} }}, - "callbackUri": "{callback_uri}" + "callbackUri": "{callbackUri}:{callbackPort}{callbackEndpoint}" }} \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/jsons/PmJobModifications.json b/SOL005/NSPerformanceManagement-API/jsons/PmJobModifications.json index f66ab98ec..3e630d3b0 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/PmJobModifications.json +++ b/SOL005/NSPerformanceManagement-API/jsons/PmJobModifications.json @@ -1,3 +1,3 @@ { - "callbackUri": "" + "callbackUri": "{callbackUri}:{callbackPort}{callbackEndpoint}" } \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/jsons/ThresholdModifications.json b/SOL005/NSPerformanceManagement-API/jsons/ThresholdModifications.json index 60c7f184d..3e630d3b0 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/ThresholdModifications.json +++ b/SOL005/NSPerformanceManagement-API/jsons/ThresholdModifications.json @@ -1,3 +1,3 @@ { - "callbackUri":"" + "callbackUri": "{callbackUri}:{callbackPort}{callbackEndpoint}" } \ No newline at end of file -- GitLab From 147443441dd3b5dd503502d435dfb13b0368ad08 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 22 Oct 2021 11:49:23 +0200 Subject: [PATCH 079/211] updated SOL005 NS PM threshold creeation and update with mandatory test notification endpoint --- .../NSPerformanceManagementKeywords.robot | 63 ++++++++++++++----- .../environment/variables.txt | 3 + .../jsons/CreatePmJobRequest.json | 2 +- .../jsons/CreateThresholdRequest.json | 7 ++- 4 files changed, 56 insertions(+), 19 deletions(-) diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index 29e0c5623..15bd31168 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -92,7 +92,7 @@ Send Post Request Create new NS Performance Monitoring Job Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} pmJobId=${pmJobId} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} + ${body}= Format String ${template} pmJobObjectInstanceId=${pmJobObjectInstanceId} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} Log Creating mock request and response to handle GET operation on notification endpoint &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} &{notification_response}= Create Mock Response status_code=204 @@ -112,18 +112,10 @@ Send POST request for NS Performance Monitoring Job with unprocessable entity Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} pmJobId=${pmJobId} callbackUri=${callback_uri} callbackEndpoint=${unreachable_callback_uri} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} - Log Creating mock request and response to handle GET operation on notification endpoint - &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} - &{notification_response}= Create Mock Response status_code=204 - Log Issue the request - Create Mock Expectation ${notification_request} ${notification_response} + ${body}= Format String ${template} pmJobObjectInstanceId=${pmJobObjectInstanceId} callbackUri=${callback_uri} callbackEndpoint=${unreachable_callback_uri} callbackPort=${callback_port} performanceMetric=${performanceMetric} collectionPeriod=${collectionPeriod} reportingPeriod=${reportingPeriod} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} - Log Verify producer tested the notification endpoint - Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} Send PUT Request for all NS Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented @@ -289,9 +281,17 @@ Send Patch request for individual NS Performance Job - Etag mismatch Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/PmJobModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for individual NS Performance Job with unprocessable entity @@ -420,10 +420,18 @@ Send Post Request Create new Performance Threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} pmJobId=${pmJobId} + ${body}= Format String ${template} thresholdObjectInstanceId=${thresholdObjectInstanceId} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} + ... callbackPort=${callback_port} performanceMetric=${performanceMetric} thresholdType=${thresholdType} thresholdValue=${thresholdValue} hysteresis=${hysteresis} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response - Set Suite Variable ${response} ${output} + Set Suite Variable ${response} ${output}ndpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send POST request for Performance threshold with unprocessable entity Log Creating a new Threshold @@ -431,10 +439,18 @@ Send POST request for Performance threshold with unprocessable entity Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} callback_uri=${unreachable_callback_uri}:${callback_port} + ${body}= Format String ${template} thresholdObjectInstanceId=${thresholdObjectInstanceId} callbackUri=${callback_uri} callbackEndpoint=${unreachable_callback_uri} + ... callbackPort=${callback_port} performanceMetric=${performanceMetric} thresholdType=${thresholdType} thresholdValue=${thresholdValue} hysteresis=${hysteresis} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response - Set Suite Variable ${response} ${output} + Set Suite Variable ${response} ${output}ndpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send PUT Request for all Performance Thresholds Log PUT THresholds @@ -530,10 +546,19 @@ Send Patch request for individual NS performance Threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - ${body}= Get File jsons/ThresholdModifications.json + ${body}= Get File jsons/ThresholdModifications.json + ${body}= Format String ${body} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for individual NS performance Threshold - Etag mismatch Log Trying to PUT threshold @@ -543,9 +568,17 @@ Send Patch request for individual NS performance Threshold - Etag mismatch Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ThresholdModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Log Verify producer tested the notification endpoint + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for Individual Threshold with unprocessable entity Set Headers {"Accept":"${ACCEPT_JSON}"} diff --git a/SOL005/NSPerformanceManagement-API/environment/variables.txt b/SOL005/NSPerformanceManagement-API/environment/variables.txt index 647fed250..e8b303c04 100644 --- a/SOL005/NSPerformanceManagement-API/environment/variables.txt +++ b/SOL005/NSPerformanceManagement-API/environment/variables.txt @@ -29,6 +29,9 @@ ${invalid_etag} invalid etag ${total_polling_time} 2 min ${polling_interval} 10 sec +${objectType} my_type +${pmJobObjectInstanceId} my_id +${thresholdObjectInstanceId} my_id ${performanceMetric} cpu_util ${thresholdType} SIMPLE ${thresholdValue} 10 diff --git a/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json index 2f55c065c..c0fb7de33 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL005/NSPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -1,5 +1,5 @@ {{ - "objectInstanceIds": ["{pmJobId}"], + "objectInstanceIds": ["{pmJobObjectInstanceId} "], "criteria": {{ "performanceMetric": "{performanceMetric}", "performanceMetricGroup": [], diff --git a/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json index 145f2d681..5572d8469 100644 --- a/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL005/NSPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -1,11 +1,12 @@ {{ - "objectInstanceIds" : "{pmJobId}", + "objectType": "{objectType}", + "objectInstanceId" : "{thresholdObjectInstanceId}", "criteria" : {{ "performanceMetric": "{performanceMetric}", "thresholdType": "{thresholdType}", "simpleThresholdDetails": {{ - "thresholdValue": {thresholdValue}, - "hysteresis": {hysteresis} + "thresholdValue": "{thresholdValue}", + "hysteresis": "{hysteresis}" }} }}, "callbackUri": "{callbackUri}:{callbackPort}{callbackEndpoint}" -- GitLab From 6c9ed26be3e2453992095246e0cb0ac24fcf96f3 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 18:14:02 +0200 Subject: [PATCH 080/211] Removing unused variables --- .../environment/variables.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/SOL005/NSPerformanceManagement-API/environment/variables.txt b/SOL005/NSPerformanceManagement-API/environment/variables.txt index e8b303c04..33dcf9430 100644 --- a/SOL005/NSPerformanceManagement-API/environment/variables.txt +++ b/SOL005/NSPerformanceManagement-API/environment/variables.txt @@ -15,21 +15,25 @@ ${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${testOptionalMethods} 0 +#${testOptionalMethods} 0 + ${callback_port} 9091 ${callback_uri} http://172.22.1.7 ${unreachable_callback_uri} http://not-reachable-uri ${callback_endpoint} /nspm/subscriptions -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 + +#${sleep_interval} 20s + ${invalid_etag} invalid etag ${total_polling_time} 2 min ${polling_interval} 10 sec -${objectType} my_type +#${objectType} my_type + ${pmJobObjectInstanceId} my_id ${thresholdObjectInstanceId} my_id ${performanceMetric} cpu_util -- GitLab From 1d64cc2c8c3048974d4ff301cae1deb211435708 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 14:37:01 +0200 Subject: [PATCH 081/211] updated SOL005 NS LCM refs to v3.5.1 --- .../CancelOperationTask.robot | 14 ++++---- .../ContinueOperationTask.robot | 14 ++++---- .../CreateNSInstanceWorkflow.robot | 4 +-- .../DeleteNSInstanceWorkflow.robot | 2 +- .../FailOperationTask.robot | 14 ++++---- .../HealNSTask.robot | 12 +++---- .../HealNSTaskWorkflow.robot | 2 +- .../IndividualNSInstance.robot | 12 +++---- .../IndividualNSLCMOccurences.robot | 10 +++--- .../IndividualSubscription.robot | 10 +++--- .../IndividualVNFSnapshot.robot | 14 ++++---- .../InstantiateNSTask.robot | 12 +++---- .../InstantiateNSTaskWorkflow.robot | 2 +- .../NSInstances.robot | 36 +++++++++---------- .../NSLCMOccurences.robot | 30 ++++++++-------- .../NotificationEndpoint.robot | 6 ++-- .../Notifications.robot | 8 ++--- .../RetryOperationTask.robot | 14 ++++---- .../RollbackOperationTask.robot | 14 ++++---- .../ScaleNSTask.robot | 12 +++---- .../ScaleNSTaskWorkflow.robot | 2 +- .../Subscriptions.robot | 32 ++++++++--------- .../TerminateNSTask.robot | 12 +++---- .../TerminateNSTaskWorkflow.robot | 2 +- .../UpdateNSTask.robot | 12 +++---- .../UpdateNSTaskWorkflow.robot | 2 +- .../VNFSnapshots.robot | 30 ++++++++-------- 27 files changed, 167 insertions(+), 167 deletions(-) diff --git a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot index a20b0d5d1..9631f072c 100644 --- a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot @@ -13,7 +13,7 @@ POST Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cancel the NS LCM operation ... Pre-conditions: NS instance status equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Cancel operation task Not Found ... Test title: POST Cancel operation task Not Found ... Test objective: The objective is to test that POST method fail completing the Cancel NS LCM operation if the resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The objective is to test that POST method fail if a status conflict exist on the NS LCM operation. (i.e. NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK) ... Pre-conditions: NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot index 7a0fc2c99..ee81316fb 100644 --- a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot @@ -13,7 +13,7 @@ POST Continue operation task ... Test title: POST Continue operation task ... Test objective: The objective is to test that POST method trigger a continue on the LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Continue operation task Not Found ... Test title: POST Continue operation task Not Found ... Test objective: The objective is to test that POST method cannot perform a continue operation task because the resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Continue operation task Conflict ... Test title: POST Continue operation task Conflict ... Test objective: The objective is to test that POST method fail in case of operation status conflict (i.e. NS instance status not equal to FAILED_TEMP ) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Continue operation task - Method not implemented ... Test title: GET Continue operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Continue operation task - Method not implemented ... Test title: PUT Continue operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Continue operation task - Method not implemented ... Test title: PATCH Continue operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Continue operation task - Method not implemented ... Test title: DELETE Continue operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot index c51eff200..4f9e7bb84 100644 --- a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot @@ -15,7 +15,7 @@ NS Instance Creation ... Test title: NS Instance Creation ... Test objective: The objective is to test the workflow for Creating a NS instance ... Pre-conditions: none - ... Reference: Clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS resource is in NOT_ISTANTIATED state @@ -32,7 +32,7 @@ NS Instance Creation with DISABLED Network Service Descriptor ... Test title: NS Instance Creation with DISABLED Network Service Descriptor ... Test objective: The objective is to test the workflow for Creating a NS instance with a disabled NSD ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in disabled operational state. - ... Reference: Clauses 6.4.2.3.1 and 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clauses 6.4.2.3.1 and 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index 40b7de31a..d3c7a2273 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -15,7 +15,7 @@ NS Instance Deletion ... Test title: NS Instance Deletion ... Test objective: The objective is to test the workflow for Deleting a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance resource is deleted diff --git a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot index 162c7ebcf..726aa0f83 100644 --- a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot @@ -13,7 +13,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method trigger a state change to "finally failed" on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Fail operation task Not Found ... Test title: POST Fail operation task Not Found ... Test objective: The objective is to test that POST method fail if the NS LCM resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Fail operation task Conflict ... Test title: POST Fail operation task Conflict ... Test objective: The objective is to test that POST method fail in case of status conflict on the NS LCM operation (i.e NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/HealNSTask.robot b/SOL005/NSLifecycleManagement-API/HealNSTask.robot index 1bb24b7eb..7f17bfdaf 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTask.robot @@ -13,7 +13,7 @@ POST Heal a NSInstance ... Test title: POST Heal a NSInstance ... Test objective: The objective is to test that POST method trigger a Heal NS instance ... Pre-conditions: NS Instance is in INSTANTIATED state. - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is still in INSTANTIATED state. @@ -26,7 +26,7 @@ POST Heal a NSInstance - Conflict (Not Instantited) ... Test title: POST Heal a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method fail if NS instance is in NOT_INSTANTIATE state ... Pre-conditions: NS Instance is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance is still in NOT_INSTANTIATED state @@ -39,7 +39,7 @@ GET Heal NSInstance- Method not implemented ... Test title: GET Heal NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Heal NSInstance - Method not implemented ... Test title: PUT Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Heal NSInstance - Method not implemented ... Test title: PATCH Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Heal NSInstance - Method not implemented ... Test title: DELETE Heal NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index 4020ab558..57cb3f68a 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Heal Flow of NS lifecycle management operations ... Test title: Heal Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Healing a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance still in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index 5d7acba23..a526989c1 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -13,7 +13,7 @@ POST Individual NSInstance - Method not implemented ... Test title: POST Individual NSInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Information about an individual NS Instance ... Test title: GET Information about an individual NS Instance ... Test objective: The objective is to test that GET method returns an individual NS instance ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT Individual NSInstance - Method not implemented ... Test title: PUT Individual NSInstance - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH Individual NSInstance - Method not implemented ... Test title: PATCH Individual NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ DELETE Individual NSInstance ... Test title: DELETE Individual NSInstance ... Test objective: The objective is to test that DELETE method delete a not INSTANTIATED NS instance ... Pre-conditions: NS instance is not INSTANTIATED . - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Check Postcondition NS Instance is deleted @@ -77,7 +77,7 @@ DELETE Individual NSInstance Conflict ... Test title: DELETE Individual NSInstance Conflict ... Test objective: The objective is to test that DELETE method cannot delete an INSTANTIATED NS instance ... Pre-conditions: one instance of a NS in INSTANTIATED state - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Check Postcondition NS Instance is not deleted diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot index 537618b05..4c6998315 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot @@ -12,7 +12,7 @@ Post Individual NS LCM occurrences - Method not implemented ... Test title: Post Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get status information about Individual NS LCM occurrences ... Test title: Get status information about Individual NS LCM occurrences ... Test objective: The objective is to test that GET method returns the LCM occurrence of the NS ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT status information about Individual NS LCM occurrences - Method not implemen ... Test title: PUT status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH status information about Individual NS LCM occurrences - Method not implem ... Test title: PATCH status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE status information about Individual NS LCM occurrences - Method not imple ... Test title: DELETE status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot index 9855f532f..9fbb30b4e 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot @@ -14,7 +14,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to test the retrieval of NS lifecycle management subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: At least one lifecycle management subscription is available in the NFVO - ... Reference: Clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not available anymore on NFVO diff --git a/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot b/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot index cc3648bb8..b3f060c2d 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot - Method not implemented ... Test title: POST Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an individual VNF Snapshot - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot fails when using an invalid resource identifier. ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNF Snapshot - Method not implemented ... Test title: PUT Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Individual VNF Snapshot - Method not implemented ... Test title: PATCH Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot not modified @@ -69,7 +69,7 @@ DELETE Individual VNF Snapshot ... Test title: DELETE Individual VNF Snapshot ... Test objective: The objective is to delete a VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot resource is deleted. @@ -82,7 +82,7 @@ DELETE Individual VNF Snapshot - Conflict ... Test title: DELETE Individual VNF Snapshot Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF Snapshot resource. ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: VNF snapshot is in use by some operation such as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. ... Post-Conditions: VNF Snapshot resource is not deleted. diff --git a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot index d35652351..7b2098795 100644 --- a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot @@ -13,7 +13,7 @@ POST Instantiate a nsInstance ... Test title: POST Instantiate a nsInstance ... Test objective: The objective is to test that POST method instantiate a new NS instance ... Pre-conditions: An NS instance created and it is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is instantiated on the NFVO @@ -27,7 +27,7 @@ POST Instantiate a nsInstance Conflict ... Test title: POST Instantiate a nsInstance Conflict ... Test objective: The objective is to test that the operation cannot be performed due to a conflict with the state of resource (i.e. the resource is in INSTANTIATED state) ... Pre-conditions: resource is in INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not instantiated on the NFVO @@ -41,7 +41,7 @@ GET Instantiate NSInstance - Method not implemented ... Test title: GET Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -53,7 +53,7 @@ PUT Instantiate NSInstance - Method not implemented ... Test title: PUT Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -65,7 +65,7 @@ PATCH Instantiate NSInstance - Method not implemented ... Test title: PATCH Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -77,7 +77,7 @@ DELETE Instantiate NSInstance - Method not implemented ... Test title: DELETE Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. diff --git a/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot index 3c848e378..79f219cac 100644 --- a/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Instantiate Flow of NS lifecycle management operations ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index 0c33d1a05..c74757086 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -12,7 +12,7 @@ POST Create a new NsInstance ... Test title: POST Create a new NsInstance ... Test objective: The objective is to test the creation of a new Ns Instances and perform a JSON schema validation of the collected instance data structure ... Pre-conditions: none. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: A Ns instance is instantiated. @@ -27,7 +27,7 @@ GET information about multiple NS instances ... Test title: GET information about multiple NS instances ... Test objective: The objective is to test the retrieval of all the available NS Instances and perform a JSON schema and content validation of the collected instance data structure ... Pre-conditions: An existing Ns instance. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -39,8 +39,8 @@ GET information about multiple NS instances Bad Request Invalid attribute-based [Documentation] Test ID: 5.3.2.1.3 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad filter parameter (filter parameters are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.3.1). - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Pre-conditions: A Ns instance is instantiated, a bad filter parameter (filter parameters are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.5.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -52,8 +52,8 @@ GET information about multiple NS instances Bad Request Invalid attribute select [Documentation] Test ID: 5.3.2.1.4 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute selector ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.3.1). - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.5.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -66,7 +66,7 @@ GET NSInstances with "all_fields" attribute selector ... Test title: GET NSInstances with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ GET NSInstances with "exclude_default" attribute selector ... Test title: GET NSInstances with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ GET NSInstances with "fields" attribute selector ... Test title: GET NSInstances with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET NSInstances with "exclude_fields" attribute selector ... Test title: GET NSInstances with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ PUT NSInstances - Method not implemented ... Test title: PUT Individual NS instance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ PATCH NSInstances - Method not implemented ... Test title: PATCH NSInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ DELETE NSInstances - Method not implemented ... Test title: DELETE NSInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ GET information about multiple NS instances as Paged Response ... Test title: GET information about multiple NS instances as Paged Response ... Test objective: The objective is to test the retrieval of all the available NS Instances as a Paged Response. ... Pre-conditions: An existing Ns instance. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -166,8 +166,8 @@ GET information about multiple NS instances - Bad Request Response too Big [Documentation] Test ID: 5.3.2.1.13 ... Test title: GET information about multiple NS instances - Bad Request Response too Big ... Test objective: The objective is to test the retrieval of all the available NS Instances fails because reponse is too big, and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.3.1). - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v3.5.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -180,7 +180,7 @@ GET NSInstances with "fields" and "exclude_default" attribute selector ... Test title: GET NSInstances with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector list and exclude_default ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ GET information about multiple NS instances - Filter ... Test title: GET information about multiple NS instances - Filter ... Test objective: The objective is to test the retrieval of NS Instances using filter and perform a JSON schema and content validation of the collected instance data structure ... Pre-conditions: An existing Ns instance. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot index dc0a0c674..51e08e3dc 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot @@ -12,7 +12,7 @@ POST NS LCM occurrences - Method not implemented ... Test title: POST NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET status information about multiple NS LCM occurrences ... Test title: GET status information about multiple NS LCM occurrences ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail because of wrong query parameter ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail because of wrong attributes selector ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid attribute selector - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET status information about multiple NS LCM occurrences with "all_fields" ... Test title: GET status information about multiple NS LCM occurrences with "all_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET status information about multiple NS LCM occurrences with "exclude_default" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_default" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET status information about multiple NS LCM occurrences with "fields" ... Test title: GET status information about multiple NS LCM occurrences with "fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ PUT status information about multiple NS LCM occurrences - Method not implemente ... Test title: PUT status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH status information about multiple NS LCM occurrences - Method not implemen ... Test title: PATCH status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ DELETE status information about multiple NS LCM occurrences - Method not impleme ... Test title: DELETE status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ GET status information about multiple NS LCM occurrences as Paged Response ... Test title: GET status information about multiple NS LCM occurrences as Paged Reponse ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS as paged response. ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ GET status information about multiple NS LCM occurrences - Bad Request Response ... Test title: GET status information about multiple NS LCM occurrences - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -177,7 +177,7 @@ GET status information about multiple NS LCM occurrences with "fields" and "excl ... Test title: GET status information about multiple NS LCM occurrences with "fields" and "exclude_default" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ GET status information about multiple NS LCM occurrences - Filter ... Test title: GET status information about multiple NS LCM occurrences - Filter ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS using filtering-based query parameters ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot index 49b2db4f8..74ddf0e5b 100644 --- a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ Ns Lcm Operation Occurrence Notification ... Test title: Ns Lcm Operation Occurrence Notification ... Test objective: The objective is to test that Ns Lcm Operation Occurrence Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Ns Identifier Creation Notification ... Test title: Ns Identifier Creation Notification ... Test objective: The objective is to test that Ns Identifier Creation Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns Identifier Creation notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Ns Identifier Deletion Notification ... Test title: Ns Identifier Deletion Notification ... Test objective: The objective is to test that Ns Identifier Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns Identifier Deletion notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/Notifications.robot b/SOL005/NSLifecycleManagement-API/Notifications.robot index ba6fa836a..6e1bceaa1 100644 --- a/SOL005/NSLifecycleManagement-API/Notifications.robot +++ b/SOL005/NSLifecycleManagement-API/Notifications.robot @@ -13,7 +13,7 @@ NS LCM Operation Occurrence Start Notification ... Test title: NS LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Start Notification when a new NS LCM operation is started in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ NS LCM Operation Occurrence Result Notification ... Test title: NS LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Result Notification when a NS LCM operation is completed in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An NS LCM operation is in progress, and a subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ NS Identifier Creation Notification ... Test title: NS Identifier Creation Notification ... Test objective: The objective is to test the dispatch of NS Identifier Creation Notification when a new NS instance resource is created in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS identifier creation notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ NS Identifier Deletion Notification ... Test title: NS Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of NS Identifier Deletion Notification when a NS instance resource is deleted in the NFVO, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance resource is created, and a subscription for NS identifier creation notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot index 32859c776..45353fbd5 100644 --- a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot @@ -13,7 +13,7 @@ Post Retry operation task ... Test title: Post Retry operation task ... Test objective: The objective is to test that POST method trigger a retry of NS lifecycle operation in case of temporary failure ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -27,7 +27,7 @@ Post Retry operation task Not Found ... Test title: Post Retry operation task Not Found ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation not found ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Post Retry operation task Conflict ... Test title: Post Retry operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot index 74651f25a..fe3b9c500 100644 --- a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot @@ -13,7 +13,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method triggers a rollback on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that POST method fails if NS LCM operation is not found ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Rollback operation task Conflict ... Test title: POST Rollback operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS LCM operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot index 4bbb56506..9f02dd434 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot @@ -13,7 +13,7 @@ POST Scale a nsInstance ... Test title: POST Scale a nsInstance ... Test objective: The objective is to test that POST method scales NS instance ... Pre-conditions: NS instance is INSTANTIATED state - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is INSTANTIATED state and NS has been scaled @@ -27,7 +27,7 @@ POST Scale a nsInstance - Conflict (Not Instantited) ... Test title: POST Scale a nsInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method cannot scale NS instance because of conflict in resource status (i.e. because the resource is in NOT_INSTANTIATED state) ... Pre-conditions: NS instance is in NOT_INSTANTIATED state. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Scale NS operation is not triggered on the NFVO @@ -40,7 +40,7 @@ GET Scale NSInstance- Method not implemented ... Test title: GET Scale NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Scale NSInstance - Method not implemented ... Test title: PUT Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Scale NSInstance - Method not implemented ... Test title: PATCH Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Scale NSInstance - Method not implemented ... Test title: DELETE Scale NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot index 9f4de02b1..0ee6d93d8 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Scale Flow of NS lifecycle management operations ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/Subscriptions.robot b/SOL005/NSLifecycleManagement-API/Subscriptions.robot index 2c7293a89..09fe3ed62 100644 --- a/SOL005/NSLifecycleManagement-API/Subscriptions.robot +++ b/SOL005/NSLifecycleManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The objective is to test that POST method create a subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is created in the NFVO @@ -29,7 +29,7 @@ POST Create a new Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The objective is to test that POST method create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication supported by NFVO ... Post-Conditions: duplicate subscription is created in the NFVO @@ -43,7 +43,7 @@ POST Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The objective is to test that POST method cannot create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication NOT supported by NFVO ... Post-Conditions: duplicate subscription is not created in the NFVO @@ -56,7 +56,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using an invalid filter ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -108,7 +108,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -121,7 +121,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -134,7 +134,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -147,7 +147,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -183,7 +183,7 @@ GET Subscriptions as Paged Response ... Test title: GET Subscriptions as Paged Response ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions as paged response. ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response ... Post-Conditions: none @@ -196,7 +196,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response ... Post-Conditions: none @@ -209,7 +209,7 @@ POST Create a new subscription - Unprocessable Entity ... Test title: POST Create a new subscription - Unprocessable Entity ... Test objective: The objective is to test the creation of a new lifecycle management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot index d65c80821..4abf657b7 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot @@ -12,7 +12,7 @@ POST Terminate a NSInstance ... Test title: POST Terminate a NSInstance ... Test objective: The objective is to test that POST method terminate the NS ... Pre-conditions: NS instance in INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance has NOT_INSTANTIATED state @@ -26,7 +26,7 @@ POST Terminate a NSInstance - Conflict (Not Instantited) ... Test title: POST Terminate a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method cannot terminate the NS because of conflict in resource status (i.e. the resource is not in INSTANTIATED state) ... Pre-conditions: NS instance is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is in NOT_INSTANTIATED state @@ -40,7 +40,7 @@ GET Terminate NSInstance- Method not implemented ... Test title: GET Terminate NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Terminate NSInstance - Method not implemented ... Test title: PUT Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Terminate NSInstance - Method not implemented ... Test title: PATCH Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Terminate NSInstance - Method not implemented ... Test title: DELETE Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot index b6bd1278c..cc508316c 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Terminate Flow of NS lifecycle management operations ... Test title: Terminate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Terminate a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in NOT_INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot index 967cd9d05..b30e8fbed 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot @@ -13,7 +13,7 @@ POST Update a NSInstance ... Test title: POST Update a NSInstance ... Test objective: The objective is to test that POST method update a NS instance ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is still INSTANTIATED and updated on the NFVO @@ -26,7 +26,7 @@ POST Update a NSInstance - Conflict (Not Instantited) ... Test title: POST Update a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method fail if a NS Instance is not existing or is in NOT_INSTANTIATED state ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not updated on the NFVO @@ -39,7 +39,7 @@ GET Update NSInstance- Method not implemented ... Test title: GET Update NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Update NSInstance - Method not implemented ... Test title: PUT Update NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Update NSInstance - Method not implemented ... Test title: PATCH Update NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Update NSInstance - Method not implemented ... Test title: DELETE Update NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot index 564bb6431..43c6f3809 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot @@ -15,7 +15,7 @@ Update Flow of NS lifecycle management operations ... Test title: Update Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Update a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot b/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot index dfa5b2e32..7dedffc7e 100644 --- a/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot +++ b/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot @@ -7,7 +7,7 @@ POST VNF Snapshots - Method Not Implemented ... Test title: POST VNF Snapshots - Method Not Implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET information about multiple VNF Snapshots ... Test title: GET information about multiple VNF Snapshots ... Test objective: The objective is to get information about multiples VNF snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET information about multiple VNF Snapshots with "all_fields" attribute selecto ... Test title: GET information about multiple VNF Snapshots with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET information about multiple VNF Snapshots with "exclude_default" attribute se ... Test title: GET information about multiple VNF Snapshots with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET information about multiple VNF Snapshots with "fields" attribute selector ... Test title: GET information about multiple VNF Snapshots with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET information about multiple VNF Snapshots with "exclude_default" and "fields" ... Test title: GET information about multiple VNF Snapshots with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET information about multiple VNF Snapshots with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF Snapshots with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET VNF Snapshots - Bad Request Response too Big ... Test title: GET VNF Snapshots - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshots list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -136,7 +136,7 @@ GET VNF Snapshots as Paged Response ... Test title: GET VNF Snapshots as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshots as paged response. ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -149,7 +149,7 @@ PUT VNF Snapshots - Method not implemented ... Test title: PUT VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ PATCH VNF Snapshots - Method not implemented ... Test title: PATCH VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ DELETE VNF Snapshots - Method not implemented ... Test title: DELETE VNF Snapshots - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -185,7 +185,7 @@ GET information about multiple VNF Snapshots using Filter ... Test title: GET information about multiple VNF Snapshots using Filter ... Test objective: The objective is to get information about multiples VNF snapshots using filter ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From e4143614f404ed8bf7ce0aae5c11afa0e8b72c67 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 16:50:25 +0200 Subject: [PATCH 082/211] updated schemas and json requests to v3.5.1 for NS LCM --- .../jsons/TerminateNsRequest.json | 3 +- .../jsons/UpdateNsRequest.json | 3 +- .../schemas/NsInstance.schema.json | 5209 ++++++++-------- .../schemas/NsInstances.schema.json | 5213 ++++++++--------- .../schemas/NsLcmOpOcc.schema.json | 1836 +++--- .../schemas/NsLcmOpOccs.schema.json | 1840 +++--- .../schemas/VnfSnapshotInfo.schema.json | 733 +-- .../schemas/VnfSnapshotsInfo.schema.json | 2475 ++++---- .../schemas/subscription.schema.json | 398 +- .../schemas/subscriptions.schema.json | 404 +- 10 files changed, 9265 insertions(+), 8849 deletions(-) diff --git a/SOL005/NSLifecycleManagement-API/jsons/TerminateNsRequest.json b/SOL005/NSLifecycleManagement-API/jsons/TerminateNsRequest.json index 65e326002..924062c10 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/TerminateNsRequest.json +++ b/SOL005/NSLifecycleManagement-API/jsons/TerminateNsRequest.json @@ -1,4 +1,3 @@ { - "timeout_ns_terminate": 1, - "autoremove": false + "timeout_ns_terminate": 1 } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json b/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json index 21f4f195a..5b61544f7 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json +++ b/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json @@ -4,8 +4,7 @@ {{ "vnfInstanceId": "{vnfInstanceId}" }} - ] - "removeVnfInstance": "", + ], "instantiateVnfData": {{ "vnfdId": "{vnfdId}", "vnfFlavourId": "{vnfFlavourId}", diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json index 8e7d9e028..1acc0ff71 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json @@ -1,2738 +1,2475 @@ { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance. Clause B.3.2 of ETSI GS NFV-SOL 003 [4] provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1.\n", - "type": "object", - "required": [ - "id", - "cpdId" - ], - "oneOf": [ - { - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfigId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId’ attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * At least one of the \"linkPortId\" and \"cpProtocolData\" attributes\n shall be present for a to-be-created external CP instance or an\n existing external CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.59).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "extManagedMultisiteVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "monitoringParameters": { - "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", - "type": "array", - "items": { - "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId", - "nsVirtualLinkProfileId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) and/or multi-site connectivity service(s) realizing the VL instance. As an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "vnfInstanceId", - "vnfExtCpInstanceId" - ] - }, - { - "required": [ - "pnfInfoId", - "pnfExtCpInstanceId" - ] - }, - { - "required": [ - "nsInstanceId", - "nsSapInstanceId" - ] - } - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "vnfInstanceId", - "vnfExtCpInstanceId" - ] - }, - { - "required": [ - "pnfInfoId", - "pnfExtCpInstanceId" - ] - }, - { - "required": [ - "nsInstanceId", - "nsSapInstanceId" - ] - } - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfSnapshotInfoIds": { - "description": "Identifier of information on VNF snapshots of VNF instances that are part of this NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "monitoringParameter": { - "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", - "type": "array", - "items": { - "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the NSD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "wanConnectionInfo": { - "description": "Information about WAN related connectivity enabling multi-site VLs.\n", - "type": "array", - "items": { - "description": "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\n", - "type": "object", - "required": [ - "wanConnectionInfoId" - ], - "oneOf": [ - { - "required": [ - "nsVirtualLinkInfoId" - ] - }, - { - "required": [ - "vnfVirtualLinkResourceInfoId" - ] - } - ], - "properties": { - "wanConnectionInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnfVirtualLinkResourceInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "protocolInfo": { - "description": "This type provides protocol specific information about the connectivity to the WAN of network resources realizing\na VL, e.g., when the VL is deployed on several sites and across a WAN, and the related multi-site connectivity\nservice (MSCS) enabling the connectivity through the WAN. This type supports providing information about both\npre-provisioned WAN connectivity realized by external entities to NFV-MANO but parts of such connectivity is known\nto the NFVO, as well as information about MSCS created under NFV-MANO responsibility (i.e., connectivity is realized\nwhen NFVO communicates with the WIM). It shall comply with the provisions defined in table 6.5.3.91-1.\n", - "type": "object", - "properties": { - "mscsInfo": { - "description": "This type provides information about an already provisioned multi-site connectivity service (MSCS) deployed across a WAN. It shall comply with the provisions defined in Table 6.5.3.82-1.\n", - "type": "object", - "required": [ - "mscsId", - "mscsType" - ], - "properties": { - "mscsId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "mscsName": { - "description": "Human readable name of the MSCS.\n", - "type": "string" - }, - "mscsDescription": { - "description": "Human readable description of the MSCS.\n", - "type": "string" - }, - "mscsType": { - "description": "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n", - "type": "string", - "enum": [ - "L2VPN", - "L3VPN" - ] - }, - "mscsLayerProtocol": { - "description": "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n", - "type": "string", - "enum": [ - "EVPN_BGP_MPLS", - "EVPN_VPWS", - "VPLS_BGP", - "VPLS_LDP", - "VPWS", - "BGP_IP_VPN" - ] - }, - "siteAccessProtectionSchemes": { - "description": "Information to determine the proper MSCS endpoints configuration to fulfil certain resiliency/protection requirements, e.g., by considering certain availability and redundancy of connectivity service endpoints in between NFVI-PoP and WAN.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "locationConstraints": { - "description": "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code The LocationConstraints data type shall comply with the provisions defined in Table 6.5.3.21-1.\n", - "type": "object", - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166 [29] country code in capital letters. Shall be present in case the \"area\" attribute is absent. May be absent if the \"area\" attribute is present. If both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", - "type": "string" - }, - "civicAddressElement": { - "description": "Zero or more elements comprising the civic address. Shall be absent if the \"area\" attribute is present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "caType", - "caValue" - ], - "properties": { - "caType": { - "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "integer" - }, - "caValue": { - "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "string" - } - } - } - }, - "area": { - "description": "Geographic area. Shall be absent if the \"civicAddressElement\" attribute is present. The content of this attribute shall follow the provisions for the \"Polygon\" geometry object as defined in IETF RFC 7946, for which the \"type\" member shall be set to the value \"Polygon\". If both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", - "type": "object" - } - } - }, - "protectionScheme": { - "description": "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n", - "type": "string", - "enum": [ - "UNPROTECTED", - "ONE_TO_ONE", - "ONE_PLUS_ONE", - "ONE_TO_N" - ] - } - } - } - }, - "mtuMscs": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded over the MSCS (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "mscsEndpoints": { - "description": "Information about the MSCS endpoints of the MSCS.\n", - "type": "array", - "items": { - "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", - "type": "object", - "required": [ - "mscsEndpointId", - "directionality", - "connectivityServiceEndpoinId" - ], - "properties": { - "mscsEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "directionality": { - "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", - "type": "string", - "enum": [ - "INBOUND", - "OUTBOUND", - "BOTH" - ] - }, - "connectivityServiceEndpoinId": { - "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "connectivityServiceEndpoints": { - "description": "Configuration information about the network resources in the NFVI-PoP and their connectivity to the WAN.\n", - "type": "array", - "items": { - "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", - "type": "object", - "required": [ - "connectivityServiceEndpointId", - "vimId" - ], - "properties": { - "connectivityServiceEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "siteToWanLayer2ProtocolData": { - "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1.\n", - "type": "object", - "required": [ - "layer2ConnectionInfo" - ], - "properties": { - "layer2ConnectionInfo": { - "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", - "type": "object", - "required": [ - "connectionType", - "interfaceType", - "interfaceTagging", - "encapsulationType" - ], - "properties": { - "connectionType": { - "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", - "type": "string", - "enum": [ - "CSE", - "AGGREGATE_CSE" - ] - }, - "interfaceType": { - "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", - "type": "string", - "enum": [ - "PARENT", - "LOGICAL" - ] - }, - "interfaceTagging": { - "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", - "type": "string", - "enum": [ - "UNTAGGED", - "TAGGED" - ] - }, - "encapsulationType": { - "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", - "type": "string", - "enum": [ - "ETH", - "VLAN", - "VXLAN" - ] - }, - "vlanTaggingType": { - "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", - "type": "string", - "enum": [ - "DOT1Q", - "QINQ", - "QINANY" - ] - }, - "wanSegmentIds": { - "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", - "type": "object", - "required": [ - "wanSegmentIdValue" - ], - "properties": { - "wanSegmentIdValue": { - "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", - "type": "string" - }, - "wanSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - }, - "vxlanConfig": { - "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", - "type": "object", - "required": [ - "peerMode" - ], - "properties": { - "peerMode": { - "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", - "type": "string", - "enum": [ - "STATIC", - "BGP_EVPN" - ] - }, - "peers": { - "description": "List of IP addresses of VTEP peers when using static mode.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - }, - "lagInterfaceData": { - "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", - "type": "object", - "required": [ - "aggregatedEndpoints", - "lacpActivation", - "lacpConfig" - ], - "properties": { - "aggregatedEndpoints": { - "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "lacpActivation": { - "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", - "type": "boolean" - }, - "lacpConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "layer2ControlProtocol": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "mtuL2": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", - "type": "object", - "required": [ - "macVrfName" - ], - "properties": { - "macVrfName": { - "description": "Name (or identifier) of the MAC-VRF instance.\n", - "type": "string" - } - } - }, - "forwardingConfig": { - "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "networkResources" - ] - }, - { - "required": [ - "vnSegmentIds" - ] - } - ], - "properties": { - "networkResources": { - "description": "Reference to the VN resource to be forwarded into/from the MSCS. Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - } - }, - "vnSegmentIds": { - "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", - "type": "object", - "required": [ - "vnSegmentIdValue" - ], - "properties": { - "vnSegmentIdValue": { - "description": "Identifier of the network segment.\n", - "type": "string" - }, - "vnSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - } - } - } - } - }, - "siteToWanLayer3ProtocolData": { - "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", - "type": "object", - "required": [ - "routingInfo" - ], - "properties": { - "logicalInterfaceIpAddress": { - "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", - "type": "object", - "required": [ - "ipAddress", - "associatedSegmentId" - ], - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "associatedSegmentId": { - "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", - "type": "string" - } - } - }, - "routingInfo": { - "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", - "type": "object", - "required": [ - "routingProtocol", - "routingAddressFamily" - ], - "properties": { - "routingProtocol": { - "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", - "type": "string", - "enum": [ - "BGP", - "RIP", - "OSPF", - "STATIC", - "DIRECT", - "VRRP" - ] - }, - "staticRouting": { - "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", - "type": "object", - "required": [ - "ipVersion", - "ipPrefix", - "prefixSize", - "nextHop" - ], - "properties": { - "ipVersion": { - "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "ipPrefix": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "prefixSize": { - "description": "The IP prefix size.\n", - "type": "number" - }, - "nextHop": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "routingAddressFamily": { - "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPv6" - ] - }, - "ospfRouting": { - "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", - "type": "object", - "required": [ - "areaId" - ], - "properties": { - "areaId": { - "description": "The routing area identifier, e.g., a number or an IP address.\n", - "type": "string" - } - } - }, - "bgpRouting": { - "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", - "type": "object", - "required": [ - "bgpAs" - ], - "properties": { - "bgpAs": { - "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", - "type": "object" - }, - "bgpNeighbour": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "bgpAdditionalParam": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "routeMapsDistribution": { - "description": "Maps of routes that are permitted or denied for redistribution.\n", - "type": "object", - "required": [ - "policy", - "sequence", - "matchAndSetRule" - ], - "properties": { - "policy": { - "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", - "type": "string", - "enum": [ - "PERMIT", - "DENY" - ] - }, - "sequence": { - "description": "Sequence or index number assigned to the route-map.\n", - "type": "number" - }, - "matchAndSetRule": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - }, - "mtuL3": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the virtual routing and forwarding (VRF).\n", - "type": "object", - "required": [ - "vrfName" - ], - "properties": { - "vrfName": { - "description": "Name (or identifier) of the VRF instance.\n", - "type": "string" - } - } - }, - "bfdConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - } - } - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - }, - "vnfSnapshotInfos": { - "description": "Links to the VNF snapshots associated to VNF instances which are part of this NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n", + "type": "object", + "required": ["id", "nsInstanceName", "nsInstanceDescription", "nsdId", "nsdInfoId", "nsState", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceName": { + "description": "Human readable name of the NS instance.\n", + "type": "string" + }, + "nsInstanceDescription": { + "description": "Human readable description of the NS instance.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "flavourId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "priority": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + }, + "vnfInstance": { + "description": "Information on constituent VNF(s) of the NS instance. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1.\nNOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity \n of a VNF.\n\nNOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to \n the previous VNFD in other aspects than merely referencing to other VNF software images. \n In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, \n the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall \n be kept in sync with the values in the VNFD.\nNOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may depend \n on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 6.5.3.59).\nNOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfPkgId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\nPermitted values: - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. - INSTANTIATED: The VNF instance is instantiated.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": ["flavourId", "vnfState", "extCpInfo"], + "properties": { + "flavourId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfState": { + "type": "string", + "enum": ["STARTED", "STOPPED"] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n", + "type": "object", + "required": ["id", "cpdId"], + "oneOf": [{ + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfigId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 6.5.3.97 1. NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", + "type": "object", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 4 and note 5.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "vnfVirtualLinkDescId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "extManagedMultisiteVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + }, + "monitoringParameters": { + "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n", + "type": "object", + "required": ["id", "vduId", "computeResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "computeResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance.See note 2. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "cpdId"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "virtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": ["id", "virtualStorageDescId", "storageResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "pnfInfo": { + "description": "Information on the PNF(s) that are part of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", + "type": "object", + "required": ["pnfId", "pnfdId", "pnfdInfoId", "pnfProfileId"], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpInfo": { + "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the CP.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "virtualLinkInfo": { + "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", + "type": "array", + "items": { + "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n", + "type": "object", + "required": ["id", "nsVirtualLinkDescId", "nsVirtualLinkProfileId"], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "resourceHandle": { + "description": "Identifier(s) of the virtualised network resource(s) and/or multi-site connectivity service(s) realizing the VL instance. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "linkPort": { + "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "nsCpHandle": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n", + "type": "object", + "oneOf": [{ + "required": ["vnfInstanceId", "vnfExtCpInstanceId"] + }, { + "required": ["pnfInfoId", "pnfExtCpInstanceId"] + }, { + "required": ["nsInstanceId", "nsSapInstanceId"] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "vnffgInfo": { + "description": "Information on the VNFFG(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n", + "type": "object", + "required": ["id", "vnffgdId", "vnfInstanceId", "pnfInfoId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdInfoId": { + "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsVirtualLinkInfoId": { + "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "nsCpHandle": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n", + "type": "object", + "oneOf": [{ + "required": ["vnfInstanceId", "vnfExtCpInstanceId"] + }, { + "required": ["pnfInfoId", "pnfExtCpInstanceId"] + }, { + "required": ["nsInstanceId", "nsSapInstanceId"] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "sapInfo": { + "description": "Information on the SAP(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", + "type": "object", + "required": ["id", "sapdId", "sapName", "sapProtocolInfo"], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP instance.\n", + "type": "string" + }, + "description": { + "description": "Human readable description for the SAP instance.\n", + "type": "string" + }, + "sapProtocolInfo": { + "description": "Network protocol information for this SAP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "nestedNsInstanceId": { + "description": "Identifier of the nested NS(s) of the NS instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfSnapshotInfoIds": { + "description": "Identifier of information on VNF snapshots of VNF instances that are part of this NS instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsState": { + "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "monitoringParameter": { + "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the NSD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "nsScaleStatus": { + "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", + "type": "array", + "items": { + "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", + "type": "object", + "required": ["nsScalingAspectId", "nsScaleLevelId"], + "properties": { + "nsScalingAspectId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsScaleLevelId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "additionalAffinityOrAntiAffinityRule": { + "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", + "type": "array", + "items": { + "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", + "type": "object", + "required": ["affinityOrAntiAffiinty", "scope"], + "properties": { + "vnfdId": { + "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfProfileId": { + "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + } + }, + "vnfInstanceId": { + "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "affinityOrAntiAffiinty": { + "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", + "type": "string", + "enum": ["AFFINITY", "ANTI_AFFINITY"] + }, + "scope": { + "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", + "type": "string", + "enum": ["NFVI_POP", "ZONE", "ZONE_GROUP", "NFVI_NODE"] + } + } + } + }, + "wanConnectionInfo": { + "description": "Information about WAN related connectivity enabling multi-site VLs.\n", + "type": "array", + "items": { + "description": "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n", + "type": "object", + "required": ["wanConnectionInfoId"], + "oneOf": [{ + "required": ["nsVirtualLinkInfoId"] + }, { + "required": ["vnfVirtualLinkResourceInfoId"] + }], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnfVirtualLinkResourceInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "protocolInfo": { + "description": "This type provides protocol specific information about the connectivity to the WAN of network resources realizing\na VL, e.g., when the VL is deployed on several sites and across a WAN, and the related multi-site connectivity\nservice (MSCS) enabling the connectivity through the WAN. This type supports providing information about both\npre-provisioned WAN connectivity realized by external entities to NFV-MANO but parts of such connectivity is known\nto the NFVO, as well as information about MSCS created under NFV-MANO responsibility (i.e., connectivity is realized\nwhen NFVO communicates with the WIM). It shall comply with the provisions defined in table 6.5.3.91-1.\n", + "type": "object", + "properties": { + "mscsInfo": { + "description": "This type provides information about an already provisioned multi-site connectivity service (MSCS) deployed across a WAN. It shall comply with the provisions defined in Table 6.5.3.82-1.\n", + "type": "object", + "required": ["mscsId", "mscsType"], + "properties": { + "mscsId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "Human readable name of the MSCS.\n", + "type": "string" + }, + "mscsDescription": { + "description": "Human readable description of the MSCS.\n", + "type": "string" + }, + "mscsType": { + "description": "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n", + "type": "string", + "enum": ["L2VPN", "L3VPN"] + }, + "mscsLayerProtocol": { + "description": "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n", + "type": "string", + "enum": ["EVPN_BGP_MPLS", "EVPN_VPWS", "VPLS_BGP", "VPLS_LDP", "VPWS", "BGP_IP_VPN"] + }, + "siteAccessProtectionSchemes": { + "description": "Information to determine the proper MSCS endpoints configuration to fulfil certain resiliency/protection requirements, e.g., by considering certain availability and redundancy of connectivity service endpoints in between NFVI-PoP and WAN.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "locationConstraints": { + "description": "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", + "type": "object", + "properties": { + "countryCode": { + "description": "The two-letter ISO 3166 country code in capital letters. Shall be present in case the \"area\" attribute is absent. May be absent if the \"area\" attribute is present (see note).\n", + "type": "string" + }, + "civicAddressElement": { + "description": "Zero or more elements comprising the civic address. Shall be absent if the \"area\" attribute is present.\n", + "type": "array", + "items": { + "type": "object", + "required": ["caType", "caValue"], + "properties": { + "caType": { + "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", + "type": "integer" + }, + "caValue": { + "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", + "type": "string" + } + } + } + }, + "area": { + "description": "Geographic area. Shall be absent if the \"civicAddressElement\" attribute is present. The content of this attribute shall follow the provisions for the \"Polygon\" geometry object as defined in IETF RFC 7946, for which the \"type\" member shall be set to the value \"Polygon\". See note.\n", + "type": "object" + } + } + }, + "protectionScheme": { + "description": "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n", + "type": "string", + "enum": ["UNPROTECTED", "ONE_TO_ONE", "ONE_PLUS_ONE", "ONE_TO_N"] + } + } + } + }, + "mtuMscs": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded over the MSCS (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "mscsEndpoints": { + "description": "Information about the MSCS endpoints of the MSCS.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": ["INBOUND", "OUTBOUND", "BOTH"] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + }, + "connectivityServiceEndpoints": { + "description": "Configuration information about the network resources in the NFVI-PoP and their connectivity to the WAN.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": ["connectivityServiceEndpointId", "vimId"], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": ["layer2ConnectionInfo"], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": ["CSE", "AGGREGATE_CSE"] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", + "type": "string", + "enum": ["PARENT", "LOGICAL"] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": ["UNTAGGED", "TAGGED"] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": ["ETH", "VLAN", "VXLAN"] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": ["DOT1Q", "QINQ", "QINANY"] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": ["wanSegmentIdValue"], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": ["peerMode"], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", + "type": "string", + "enum": ["STATIC", "BGP_EVPN"] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": ["macVrfName"], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [{ + "required": ["networkResources"] + }, { + "required": ["vnSegmentIds"] + }], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": ["vnSegmentIdValue"], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": ["routingInfo"], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": ["ipAddress", "associatedSegmentId"], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": ["routingProtocol", "routingAddressFamily"], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPv6"] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": ["areaId"], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": ["bgpAs"], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": ["policy", "sequence", "matchAndSetRule"], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", + "type": "string", + "enum": ["PERMIT", "DENY"] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": ["vrfName"], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + } + } + } + } + } + }, + "_links": { + "type": "object", + "description": "Links to resources related to this resource.", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nestedNsInstances": { + "description": "Links to resources related to this notification.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + }, + "vnfSnapshotInfos": { + "description": "Links to the VNF snapshots associated to VNF instances which are part of this NS instance.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + }, + "instantiate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "terminate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "update": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "scale": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "heal": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json index 48430de8d..174e337e3 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json @@ -1,2742 +1,2479 @@ { "type": "array", "items": - { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance. Clause B.3.2 of ETSI GS NFV-SOL 003 [4] provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1.\n", - "type": "object", - "required": [ - "id", - "cpdId" - ], - "oneOf": [ - { - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfigId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId’ attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * At least one of the \"linkPortId\" and \"cpProtocolData\" attributes\n shall be present for a to-be-created external CP instance or an\n existing external CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.59).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "extManagedMultisiteVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "monitoringParameters": { - "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", - "type": "array", - "items": { - "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId", - "nsVirtualLinkProfileId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) and/or multi-site connectivity service(s) realizing the VL instance. As an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "vnfInstanceId", - "vnfExtCpInstanceId" - ] - }, - { - "required": [ - "pnfInfoId", - "pnfExtCpInstanceId" - ] - }, - { - "required": [ - "nsInstanceId", - "nsSapInstanceId" - ] - } - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "vnfInstanceId", - "vnfExtCpInstanceId" - ] - }, - { - "required": [ - "pnfInfoId", - "pnfExtCpInstanceId" - ] - }, - { - "required": [ - "nsInstanceId", - "nsSapInstanceId" - ] - } - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfSnapshotInfoIds": { - "description": "Identifier of information on VNF snapshots of VNF instances that are part of this NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "monitoringParameter": { - "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", - "type": "array", - "items": { - "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the NSD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "wanConnectionInfo": { - "description": "Information about WAN related connectivity enabling multi-site VLs.\n", - "type": "array", - "items": { - "description": "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\n", - "type": "object", - "required": [ - "wanConnectionInfoId" - ], - "oneOf": [ - { - "required": [ - "nsVirtualLinkInfoId" - ] - }, - { - "required": [ - "vnfVirtualLinkResourceInfoId" - ] - } - ], - "properties": { - "wanConnectionInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnfVirtualLinkResourceInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "protocolInfo": { - "description": "This type provides protocol specific information about the connectivity to the WAN of network resources realizing\na VL, e.g., when the VL is deployed on several sites and across a WAN, and the related multi-site connectivity\nservice (MSCS) enabling the connectivity through the WAN. This type supports providing information about both\npre-provisioned WAN connectivity realized by external entities to NFV-MANO but parts of such connectivity is known\nto the NFVO, as well as information about MSCS created under NFV-MANO responsibility (i.e., connectivity is realized\nwhen NFVO communicates with the WIM). It shall comply with the provisions defined in table 6.5.3.91-1.\n", - "type": "object", - "properties": { - "mscsInfo": { - "description": "This type provides information about an already provisioned multi-site connectivity service (MSCS) deployed across a WAN. It shall comply with the provisions defined in Table 6.5.3.82-1.\n", - "type": "object", - "required": [ - "mscsId", - "mscsType" - ], - "properties": { - "mscsId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "mscsName": { - "description": "Human readable name of the MSCS.\n", - "type": "string" - }, - "mscsDescription": { - "description": "Human readable description of the MSCS.\n", - "type": "string" - }, - "mscsType": { - "description": "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n", - "type": "string", - "enum": [ - "L2VPN", - "L3VPN" - ] - }, - "mscsLayerProtocol": { - "description": "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n", - "type": "string", - "enum": [ - "EVPN_BGP_MPLS", - "EVPN_VPWS", - "VPLS_BGP", - "VPLS_LDP", - "VPWS", - "BGP_IP_VPN" - ] - }, - "siteAccessProtectionSchemes": { - "description": "Information to determine the proper MSCS endpoints configuration to fulfil certain resiliency/protection requirements, e.g., by considering certain availability and redundancy of connectivity service endpoints in between NFVI-PoP and WAN.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "locationConstraints": { - "description": "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code The LocationConstraints data type shall comply with the provisions defined in Table 6.5.3.21-1.\n", - "type": "object", - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166 [29] country code in capital letters. Shall be present in case the \"area\" attribute is absent. May be absent if the \"area\" attribute is present. If both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", - "type": "string" - }, - "civicAddressElement": { - "description": "Zero or more elements comprising the civic address. Shall be absent if the \"area\" attribute is present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "caType", - "caValue" - ], - "properties": { - "caType": { - "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "integer" - }, - "caValue": { - "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "string" - } - } - } - }, - "area": { - "description": "Geographic area. Shall be absent if the \"civicAddressElement\" attribute is present. The content of this attribute shall follow the provisions for the \"Polygon\" geometry object as defined in IETF RFC 7946, for which the \"type\" member shall be set to the value \"Polygon\". If both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", - "type": "object" - } - } - }, - "protectionScheme": { - "description": "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n", - "type": "string", - "enum": [ - "UNPROTECTED", - "ONE_TO_ONE", - "ONE_PLUS_ONE", - "ONE_TO_N" - ] - } - } - } - }, - "mtuMscs": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded over the MSCS (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "mscsEndpoints": { - "description": "Information about the MSCS endpoints of the MSCS.\n", - "type": "array", - "items": { - "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", - "type": "object", - "required": [ - "mscsEndpointId", - "directionality", - "connectivityServiceEndpoinId" - ], - "properties": { - "mscsEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "directionality": { - "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", - "type": "string", - "enum": [ - "INBOUND", - "OUTBOUND", - "BOTH" - ] - }, - "connectivityServiceEndpoinId": { - "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "connectivityServiceEndpoints": { - "description": "Configuration information about the network resources in the NFVI-PoP and their connectivity to the WAN.\n", - "type": "array", - "items": { - "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", - "type": "object", - "required": [ - "connectivityServiceEndpointId", - "vimId" - ], - "properties": { - "connectivityServiceEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "siteToWanLayer2ProtocolData": { - "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1.\n", - "type": "object", - "required": [ - "layer2ConnectionInfo" - ], - "properties": { - "layer2ConnectionInfo": { - "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", - "type": "object", - "required": [ - "connectionType", - "interfaceType", - "interfaceTagging", - "encapsulationType" - ], - "properties": { - "connectionType": { - "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", - "type": "string", - "enum": [ - "CSE", - "AGGREGATE_CSE" - ] - }, - "interfaceType": { - "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", - "type": "string", - "enum": [ - "PARENT", - "LOGICAL" - ] - }, - "interfaceTagging": { - "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", - "type": "string", - "enum": [ - "UNTAGGED", - "TAGGED" - ] - }, - "encapsulationType": { - "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", - "type": "string", - "enum": [ - "ETH", - "VLAN", - "VXLAN" - ] - }, - "vlanTaggingType": { - "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", - "type": "string", - "enum": [ - "DOT1Q", - "QINQ", - "QINANY" - ] - }, - "wanSegmentIds": { - "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", - "type": "object", - "required": [ - "wanSegmentIdValue" - ], - "properties": { - "wanSegmentIdValue": { - "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", - "type": "string" - }, - "wanSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - }, - "vxlanConfig": { - "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", - "type": "object", - "required": [ - "peerMode" - ], - "properties": { - "peerMode": { - "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", - "type": "string", - "enum": [ - "STATIC", - "BGP_EVPN" - ] - }, - "peers": { - "description": "List of IP addresses of VTEP peers when using static mode.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - }, - "lagInterfaceData": { - "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", - "type": "object", - "required": [ - "aggregatedEndpoints", - "lacpActivation", - "lacpConfig" - ], - "properties": { - "aggregatedEndpoints": { - "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "lacpActivation": { - "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", - "type": "boolean" - }, - "lacpConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "layer2ControlProtocol": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "mtuL2": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", - "type": "object", - "required": [ - "macVrfName" - ], - "properties": { - "macVrfName": { - "description": "Name (or identifier) of the MAC-VRF instance.\n", - "type": "string" - } - } - }, - "forwardingConfig": { - "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "networkResources" - ] - }, - { - "required": [ - "vnSegmentIds" - ] - } - ], - "properties": { - "networkResources": { - "description": "Reference to the VN resource to be forwarded into/from the MSCS. Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - } - }, - "vnSegmentIds": { - "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", - "type": "object", - "required": [ - "vnSegmentIdValue" - ], - "properties": { - "vnSegmentIdValue": { - "description": "Identifier of the network segment.\n", - "type": "string" - }, - "vnSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - } - } - } - } - }, - "siteToWanLayer3ProtocolData": { - "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", - "type": "object", - "required": [ - "routingInfo" - ], - "properties": { - "logicalInterfaceIpAddress": { - "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", - "type": "object", - "required": [ - "ipAddress", - "associatedSegmentId" - ], - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "associatedSegmentId": { - "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", - "type": "string" - } - } - }, - "routingInfo": { - "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", - "type": "object", - "required": [ - "routingProtocol", - "routingAddressFamily" - ], - "properties": { - "routingProtocol": { - "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", - "type": "string", - "enum": [ - "BGP", - "RIP", - "OSPF", - "STATIC", - "DIRECT", - "VRRP" - ] - }, - "staticRouting": { - "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", - "type": "object", - "required": [ - "ipVersion", - "ipPrefix", - "prefixSize", - "nextHop" - ], - "properties": { - "ipVersion": { - "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "ipPrefix": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "prefixSize": { - "description": "The IP prefix size.\n", - "type": "number" - }, - "nextHop": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "routingAddressFamily": { - "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPv6" - ] - }, - "ospfRouting": { - "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", - "type": "object", - "required": [ - "areaId" - ], - "properties": { - "areaId": { - "description": "The routing area identifier, e.g., a number or an IP address.\n", - "type": "string" - } - } - }, - "bgpRouting": { - "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", - "type": "object", - "required": [ - "bgpAs" - ], - "properties": { - "bgpAs": { - "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", - "type": "object" - }, - "bgpNeighbour": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "bgpAdditionalParam": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "routeMapsDistribution": { - "description": "Maps of routes that are permitted or denied for redistribution.\n", - "type": "object", - "required": [ - "policy", - "sequence", - "matchAndSetRule" - ], - "properties": { - "policy": { - "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", - "type": "string", - "enum": [ - "PERMIT", - "DENY" - ] - }, - "sequence": { - "description": "Sequence or index number assigned to the route-map.\n", - "type": "number" - }, - "matchAndSetRule": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - }, - "mtuL3": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the virtual routing and forwarding (VRF).\n", - "type": "object", - "required": [ - "vrfName" - ], - "properties": { - "vrfName": { - "description": "Name (or identifier) of the VRF instance.\n", - "type": "string" - } - } - }, - "bfdConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - } - } - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - }, - "vnfSnapshotInfos": { - "description": "Links to the VNF snapshots associated to VNF instances which are part of this NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } + { + "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n", + "type": "object", + "required": ["id", "nsInstanceName", "nsInstanceDescription", "nsdId", "nsdInfoId", "nsState", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceName": { + "description": "Human readable name of the NS instance.\n", + "type": "string" + }, + "nsInstanceDescription": { + "description": "Human readable description of the NS instance.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "flavourId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "priority": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + }, + "vnfInstance": { + "description": "Information on constituent VNF(s) of the NS instance. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1.\nNOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity \n of a VNF.\n\nNOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to \n the previous VNFD in other aspects than merely referencing to other VNF software images. \n In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, \n the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall \n be kept in sync with the values in the VNFD.\nNOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may depend \n on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 6.5.3.59).\nNOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfPkgId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\nPermitted values: - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. - INSTANTIATED: The VNF instance is instantiated.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": ["flavourId", "vnfState", "extCpInfo"], + "properties": { + "flavourId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfState": { + "type": "string", + "enum": ["STARTED", "STOPPED"] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n", + "type": "object", + "required": ["id", "cpdId"], + "oneOf": [{ + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfigId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 6.5.3.97 1. NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", + "type": "object", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 4 and note 5.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "vnfVirtualLinkDescId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "extManagedMultisiteVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + }, + "monitoringParameters": { + "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n", + "type": "object", + "required": ["id", "vduId", "computeResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "computeResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance.See note 2. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "cpdId"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "virtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": ["id", "virtualStorageDescId", "storageResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "pnfInfo": { + "description": "Information on the PNF(s) that are part of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", + "type": "object", + "required": ["pnfId", "pnfdId", "pnfdInfoId", "pnfProfileId"], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpInfo": { + "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the CP.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "virtualLinkInfo": { + "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", + "type": "array", + "items": { + "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n", + "type": "object", + "required": ["id", "nsVirtualLinkDescId", "nsVirtualLinkProfileId"], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "resourceHandle": { + "description": "Identifier(s) of the virtualised network resource(s) and/or multi-site connectivity service(s) realizing the VL instance. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "linkPort": { + "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "nsCpHandle": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n", + "type": "object", + "oneOf": [{ + "required": ["vnfInstanceId", "vnfExtCpInstanceId"] + }, { + "required": ["pnfInfoId", "pnfExtCpInstanceId"] + }, { + "required": ["nsInstanceId", "nsSapInstanceId"] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "vnffgInfo": { + "description": "Information on the VNFFG(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n", + "type": "object", + "required": ["id", "vnffgdId", "vnfInstanceId", "pnfInfoId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdInfoId": { + "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsVirtualLinkInfoId": { + "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "nsCpHandle": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n", + "type": "object", + "oneOf": [{ + "required": ["vnfInstanceId", "vnfExtCpInstanceId"] + }, { + "required": ["pnfInfoId", "pnfExtCpInstanceId"] + }, { + "required": ["nsInstanceId", "nsSapInstanceId"] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "sapInfo": { + "description": "Information on the SAP(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", + "type": "object", + "required": ["id", "sapdId", "sapName", "sapProtocolInfo"], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP instance.\n", + "type": "string" + }, + "description": { + "description": "Human readable description for the SAP instance.\n", + "type": "string" + }, + "sapProtocolInfo": { + "description": "Network protocol information for this SAP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "nestedNsInstanceId": { + "description": "Identifier of the nested NS(s) of the NS instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfSnapshotInfoIds": { + "description": "Identifier of information on VNF snapshots of VNF instances that are part of this NS instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsState": { + "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "monitoringParameter": { + "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the NSD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "nsScaleStatus": { + "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", + "type": "array", + "items": { + "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", + "type": "object", + "required": ["nsScalingAspectId", "nsScaleLevelId"], + "properties": { + "nsScalingAspectId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsScaleLevelId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "additionalAffinityOrAntiAffinityRule": { + "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", + "type": "array", + "items": { + "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", + "type": "object", + "required": ["affinityOrAntiAffiinty", "scope"], + "properties": { + "vnfdId": { + "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfProfileId": { + "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + } + }, + "vnfInstanceId": { + "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "affinityOrAntiAffiinty": { + "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", + "type": "string", + "enum": ["AFFINITY", "ANTI_AFFINITY"] + }, + "scope": { + "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", + "type": "string", + "enum": ["NFVI_POP", "ZONE", "ZONE_GROUP", "NFVI_NODE"] + } + } + } + }, + "wanConnectionInfo": { + "description": "Information about WAN related connectivity enabling multi-site VLs.\n", + "type": "array", + "items": { + "description": "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n", + "type": "object", + "required": ["wanConnectionInfoId"], + "oneOf": [{ + "required": ["nsVirtualLinkInfoId"] + }, { + "required": ["vnfVirtualLinkResourceInfoId"] + }], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnfVirtualLinkResourceInfoId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "protocolInfo": { + "description": "This type provides protocol specific information about the connectivity to the WAN of network resources realizing\na VL, e.g., when the VL is deployed on several sites and across a WAN, and the related multi-site connectivity\nservice (MSCS) enabling the connectivity through the WAN. This type supports providing information about both\npre-provisioned WAN connectivity realized by external entities to NFV-MANO but parts of such connectivity is known\nto the NFVO, as well as information about MSCS created under NFV-MANO responsibility (i.e., connectivity is realized\nwhen NFVO communicates with the WIM). It shall comply with the provisions defined in table 6.5.3.91-1.\n", + "type": "object", + "properties": { + "mscsInfo": { + "description": "This type provides information about an already provisioned multi-site connectivity service (MSCS) deployed across a WAN. It shall comply with the provisions defined in Table 6.5.3.82-1.\n", + "type": "object", + "required": ["mscsId", "mscsType"], + "properties": { + "mscsId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "Human readable name of the MSCS.\n", + "type": "string" + }, + "mscsDescription": { + "description": "Human readable description of the MSCS.\n", + "type": "string" + }, + "mscsType": { + "description": "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n", + "type": "string", + "enum": ["L2VPN", "L3VPN"] + }, + "mscsLayerProtocol": { + "description": "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n", + "type": "string", + "enum": ["EVPN_BGP_MPLS", "EVPN_VPWS", "VPLS_BGP", "VPLS_LDP", "VPWS", "BGP_IP_VPN"] + }, + "siteAccessProtectionSchemes": { + "description": "Information to determine the proper MSCS endpoints configuration to fulfil certain resiliency/protection requirements, e.g., by considering certain availability and redundancy of connectivity service endpoints in between NFVI-PoP and WAN.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "locationConstraints": { + "description": "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n", + "type": "object", + "properties": { + "countryCode": { + "description": "The two-letter ISO 3166 country code in capital letters. Shall be present in case the \"area\" attribute is absent. May be absent if the \"area\" attribute is present (see note).\n", + "type": "string" + }, + "civicAddressElement": { + "description": "Zero or more elements comprising the civic address. Shall be absent if the \"area\" attribute is present.\n", + "type": "array", + "items": { + "type": "object", + "required": ["caType", "caValue"], + "properties": { + "caType": { + "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", + "type": "integer" + }, + "caValue": { + "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", + "type": "string" + } + } + } + }, + "area": { + "description": "Geographic area. Shall be absent if the \"civicAddressElement\" attribute is present. The content of this attribute shall follow the provisions for the \"Polygon\" geometry object as defined in IETF RFC 7946, for which the \"type\" member shall be set to the value \"Polygon\". See note.\n", + "type": "object" + } + } + }, + "protectionScheme": { + "description": "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n", + "type": "string", + "enum": ["UNPROTECTED", "ONE_TO_ONE", "ONE_PLUS_ONE", "ONE_TO_N"] + } + } + } + }, + "mtuMscs": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded over the MSCS (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "mscsEndpoints": { + "description": "Information about the MSCS endpoints of the MSCS.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": ["INBOUND", "OUTBOUND", "BOTH"] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + }, + "connectivityServiceEndpoints": { + "description": "Configuration information about the network resources in the NFVI-PoP and their connectivity to the WAN.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": ["connectivityServiceEndpointId", "vimId"], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": ["layer2ConnectionInfo"], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": ["CSE", "AGGREGATE_CSE"] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", + "type": "string", + "enum": ["PARENT", "LOGICAL"] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": ["UNTAGGED", "TAGGED"] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": ["ETH", "VLAN", "VXLAN"] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": ["DOT1Q", "QINQ", "QINANY"] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": ["wanSegmentIdValue"], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": ["peerMode"], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", + "type": "string", + "enum": ["STATIC", "BGP_EVPN"] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": ["macVrfName"], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [{ + "required": ["networkResources"] + }, { + "required": ["vnSegmentIds"] + }], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": ["vnSegmentIdValue"], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": ["routingInfo"], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": ["ipAddress", "associatedSegmentId"], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": ["routingProtocol", "routingAddressFamily"], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPv6"] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": ["areaId"], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": ["bgpAs"], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": ["policy", "sequence", "matchAndSetRule"], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", + "type": "string", + "enum": ["PERMIT", "DENY"] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": ["vrfName"], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + } + } + } + } + } + }, + "_links": { + "type": "object", + "description": "Links to resources related to this resource.", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nestedNsInstances": { + "description": "Links to resources related to this notification.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + }, + "vnfSnapshotInfos": { + "description": "Links to the VNF snapshots associated to VNF instances which are part of this NS instance.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + }, + "instantiate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "terminate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "update": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "scale": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "heal": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json index 0f5a8258e..44af453a2 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json @@ -1,655 +1,1185 @@ { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "operationState", - "statusEnteredTime", - "nsInstanceId", - "lcmOperationType", - "startTime", - "isAutomaticInvocation", - "operationParams", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "statusEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", - "type": "object", - "properties": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED \n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "nsInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n", + "type": "object", + "required": ["id", "operationState", "statusEnteredTime", "nsInstanceId", "lcmOperationType", "startTime", "isAutomaticInvocation", "isCancelPending", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": ["PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "isAutomaticInvocation": { + "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", + "type": "boolean" + }, + "operationParams": { + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] + }, + "isCancelPending": { + "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", + "type": "boolean" + }, + "cancelMode": { + "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", + "type": "string", + "enum": ["GRACEFUL", "FORCEFUL"] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", + "type": "object", + "properties": { + "affectedVnfs": { + "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", + "type": "object", + "required": ["vnfInstanceId", "vnfdId", "vnfProfileId", "vnfName", "changeType", "changeResult"], + "anyOf": [{ + "required": ["changedExtConnectivity"] + }, { + "oneOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n", + "type": "string", + "enum": ["ADD", "REMOVE", "INSTANTIATE", "TERMINATE", "SCALE", "CHANGE_FLAVOUR", "HEAL", "OPERATE", "MODIFY_INFORMATION", "CHANGE_EXTERNAL_VNF_CONNECTIVITY", "CHANGE_VNFPKG"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "anyOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }], + "oneOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": ["vnfInstanceId"], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", + "type": "object", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + }, + "affectedPnfs": { + "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": ["pnfId", "pnfdId", "pnfProfileId", "cpInstanceId"], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": ["ADD", "REMOVE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedVls": { + "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", + "type": "object", + "required": ["nsVirtualLinkInstanceId", "nsVirtualLinkDescId", "vlProfileId", "changeType", "changeResult"], + "properties": { + "nsVirtualLinkInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vlProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", + "type": "string", + "enum": ["ADD", "DELETE", "MODIFY", "ADD_LINK_PORT", "REMOVE_LINK_PORT"] + }, + "linkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedVnffgs": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": ["vnffgInstanceId", "vnffgdId"], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": ["ADD", "DELETE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedNss": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": ["nsInstanceId", "nsdId", "changeType", "changeResult"], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": ["ADD", "REMOVE", "INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED", "PARTIALLY_COMPLETED"] + }, + "changedInfo": { + "description": "Information about the changed NS instance information, if applicable.\n", + "type": "object", + "properties": { + "wanConnectionInfoModifications": { + "description": "Information about the modified WAN related connectivity information, if applicable.\n", + "type": "array", + "items": { + "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", + "type": "object", + "required": ["wanConnectionInfoId"], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsDescription": { + "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": ["INBOUND", "OUTBOUND", "BOTH"] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + }, + "removeMscsEndpointIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "connectivityServiceEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": ["connectivityServiceEndpointId", "vimId"], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": ["layer2ConnectionInfo"], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": ["CSE", "AGGREGATE_CSE"] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", + "type": "string", + "enum": ["PARENT", "LOGICAL"] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": ["UNTAGGED", "TAGGED"] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": ["ETH", "VLAN", "VXLAN"] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": ["DOT1Q", "QINQ", "QINANY"] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": ["wanSegmentIdValue"], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": ["peerMode"], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", + "type": "string", + "enum": ["STATIC", "BGP_EVPN"] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": ["macVrfName"], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [{ + "required": ["networkResources"] + }, { + "required": ["vnSegmentIds"] + }], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": ["vnSegmentIdValue"], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": ["routingInfo"], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": ["ipAddress", "associatedSegmentId"], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": ["routingProtocol", "routingAddressFamily"], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPv6"] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": ["areaId"], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": ["bgpAs"], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": ["policy", "sequence", "matchAndSetRule"], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", + "type": "string", + "enum": ["PERMIT", "DENY"] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": ["vrfName"], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "removeConnectivityServiceEndpoints": { + "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "affectedSaps": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": ["sapInstanceId", "sapdId"], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": ["ADD", "REMOVE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + } + } + }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "coordinationActionName", "startTime", "endpointType"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result\nof executing an LCM coordination action. The coordination result also implies the action\nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType\nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": ["CONTINUE", "ABORT", "CACELLED"] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": ["MGMT"] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", + "type": "array", + "items": { + "type": "object", + "required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": ["MGMT"] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "nsInstance"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "cancel": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "retry": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "rollback": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "continue": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "fail": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json index 6c4acb89e..5fddcf893 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json @@ -1,657 +1,1189 @@ { "type": "array", - "items":{ - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "operationState", - "statusEnteredTime", - "nsInstanceId", - "lcmOperationType", - "startTime", - "isAutomaticInvocation", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "statusEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", - "type": "object", - "properties": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED \n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "nsInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } -} + "items": + { + "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n", + "type": "object", + "required": ["id", "operationState", "statusEnteredTime", "nsInstanceId", "lcmOperationType", "startTime", "isAutomaticInvocation", "isCancelPending", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": ["PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "isAutomaticInvocation": { + "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", + "type": "boolean" + }, + "operationParams": { + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] + }, + "isCancelPending": { + "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", + "type": "boolean" + }, + "cancelMode": { + "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", + "type": "string", + "enum": ["GRACEFUL", "FORCEFUL"] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", + "type": "object", + "properties": { + "affectedVnfs": { + "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", + "type": "object", + "required": ["vnfInstanceId", "vnfdId", "vnfProfileId", "vnfName", "changeType", "changeResult"], + "anyOf": [{ + "required": ["changedExtConnectivity"] + }, { + "oneOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }] + }], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n", + "type": "string", + "enum": ["ADD", "REMOVE", "INSTANTIATE", "TERMINATE", "SCALE", "CHANGE_FLAVOUR", "HEAL", "OPERATE", "MODIFY_INFORMATION", "CHANGE_EXTERNAL_VNF_CONNECTIVITY", "CHANGE_VNFPKG"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "anyOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }], + "oneOf": [{ + "required": ["changedVnfInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": ["vnfInstanceId"], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", + "type": "object", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + }, + "affectedPnfs": { + "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": ["pnfId", "pnfdId", "pnfProfileId", "cpInstanceId"], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": ["ADD", "REMOVE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedVls": { + "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", + "type": "object", + "required": ["nsVirtualLinkInstanceId", "nsVirtualLinkDescId", "vlProfileId", "changeType", "changeResult"], + "properties": { + "nsVirtualLinkInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vlProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", + "type": "string", + "enum": ["ADD", "DELETE", "MODIFY", "ADD_LINK_PORT", "REMOVE_LINK_PORT"] + }, + "linkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedVnffgs": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": ["vnffgInstanceId", "vnffgdId"], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": ["ADD", "DELETE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + }, + "affectedNss": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": ["nsInstanceId", "nsdId", "changeType", "changeResult"], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": ["ADD", "REMOVE", "INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED", "PARTIALLY_COMPLETED"] + }, + "changedInfo": { + "description": "Information about the changed NS instance information, if applicable.\n", + "type": "object", + "properties": { + "wanConnectionInfoModifications": { + "description": "Information about the modified WAN related connectivity information, if applicable.\n", + "type": "array", + "items": { + "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", + "type": "object", + "required": ["wanConnectionInfoId"], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsDescription": { + "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": ["INBOUND", "OUTBOUND", "BOTH"] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + }, + "removeMscsEndpointIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "connectivityServiceEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": ["connectivityServiceEndpointId", "vimId"], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": ["layer2ConnectionInfo"], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": ["CSE", "AGGREGATE_CSE"] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", + "type": "string", + "enum": ["PARENT", "LOGICAL"] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": ["UNTAGGED", "TAGGED"] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": ["ETH", "VLAN", "VXLAN"] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": ["DOT1Q", "QINQ", "QINANY"] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": ["wanSegmentIdValue"], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": ["peerMode"], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", + "type": "string", + "enum": ["STATIC", "BGP_EVPN"] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": ["macVrfName"], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [{ + "required": ["networkResources"] + }, { + "required": ["vnSegmentIds"] + }], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": ["vnSegmentIdValue"], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": ["routingInfo"], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": ["ipAddress", "associatedSegmentId"], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": ["routingProtocol", "routingAddressFamily"], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", + "type": "string", + "enum": ["IPV4", "IPv6"] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": ["areaId"], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": ["bgpAs"], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": ["policy", "sequence", "matchAndSetRule"], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", + "type": "string", + "enum": ["PERMIT", "DENY"] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": ["vrfName"], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "removeConnectivityServiceEndpoints": { + "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "affectedSaps": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": ["sapInstanceId", "sapdId"], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": ["ADD", "REMOVE", "MODIFY"] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] + } + } + } + } + } + }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "coordinationActionName", "startTime", "endpointType"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result\nof executing an LCM coordination action. The coordination result also implies the action\nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType\nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": ["CONTINUE", "ABORT", "CACELLED"] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": ["MGMT"] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", + "type": "array", + "items": { + "type": "object", + "required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": ["MGMT"] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "nsInstance"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "cancel": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "retry": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "rollback": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "continue": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "fail": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json b/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json index ad7945ce5..0d626ebc9 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json @@ -1,9 +1,7 @@ { "description": "This type represents an \"Individual VNF snapshot\" resource. The \"id\" attributed is used by the NFVO to index and\nidentify the VNF snapshots information resources that are accessible via the NFVO. The identifier is still\ngenerated by the VNFM and copied into the present \"VnfSnapshotInfo\" representing the \"Individual VNF snapshot\"\nresource hold by the NFVO.\n", "type": "object", - "required": [ - "id" - ], + "required": ["id"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -16,15 +14,7 @@ "vnfSnapshot": { "description": "This type represents a VNF Snapshot. It shall comply with the provisions defined in table 6.5.2.18-1.\n", "type": "object", - "required": [ - "id", - "vnfInstanceId", - "triggeredAt", - "createdAt", - "vnfdId", - "vnfInstance", - "vnfcSnapshots" - ], + "required": ["id", "vnfInstanceId", "triggeredAt", "createdAt", "vnfdId", "vnfInstance", "vnfcSnapshots"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -47,18 +37,9 @@ "type": "string" }, "vnfInstance": { - "description": "This type represents a VNF instance. Clause B.3.2 of ETSI GS NFV-SOL 003 [4] provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n", + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1.\nNOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity \n of a VNF.\n\nNOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to \n the previous VNFD in other aspects than merely referencing to other VNF software images. \n In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, \n the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall \n be kept in sync with the values in the VNFD.\nNOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may depend \n on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 6.5.3.59).\nNOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -105,21 +86,14 @@ "type": "string" }, "instantiationState": { - "description": "The instantiation state of the VNF.\n", + "description": "The instantiation state of the VNF.\nPermitted values: - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. - INSTANTIATED: The VNF instance is instantiated.\n", "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] }, "instantiatedVnfInfo": { "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], + "required": ["flavourId", "vnfState", "extCpInfo"], "properties": { "flavourId": { "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", @@ -127,19 +101,13 @@ }, "vnfState": { "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] + "enum": ["STARTED", "STOPPED"] }, "scaleStatus": { "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", "type": "array", "items": { - "required": [ - "aspectId", - "scaleLevel" - ], + "required": ["aspectId", "scaleLevel"], "type": "object", "properties": { "aspectId": { @@ -161,10 +129,7 @@ "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", "type": "array", "items": { - "required": [ - "aspectId", - "scaleLevel" - ], + "required": ["aspectId", "scaleLevel"], "type": "object", "properties": { "aspectId": { @@ -187,23 +152,14 @@ "type": "array", "minItems": 1, "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1.\n", + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n", "type": "object", - "required": [ - "id", - "cpdId" - ], + "required": ["id", "cpdId"], "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -226,34 +182,23 @@ "type": "array", "minItems": 1, "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], + "required": ["layerProtocol", "ipOverEthernet"], "properties": { "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", @@ -261,39 +206,28 @@ "format": "MAC" }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], "properties": { "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -306,12 +240,9 @@ "type": "boolean" }, "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -335,10 +266,7 @@ "type": { "description": "The type of the IP addresses\n", "type": "string", - "enum": [ - "PV4", - "PV6" - ] + "enum": ["PV4", "PV6"] }, "addresses": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -352,10 +280,7 @@ "addressRange": { "description": "An IP address range used, e.g. in case of egress connections. See note.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -397,36 +322,213 @@ "type": "object" }, "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 6.5.3.97 1. NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, "extVirtualLinkInfo": { "description": "Information about the external VLs the VNF instance is connected to.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -441,7 +543,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -450,23 +552,18 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -481,7 +578,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -489,38 +586,38 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", "type": "object", - "required": [ - "cpdId" - ], + "required": ["cpdId"], "properties": { "cpdId": { "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId’ attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", "type": "object", "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], "properties": { "parentCpConfigId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -530,79 +627,64 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * At least one of the \"linkPortId\" and \"cpProtocolData\" attributes\n shall be present for a to-be-created external CP instance or an\n existing external CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", "type": "array", "items": { "description": "This type represents network protocol data.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], "properties": { "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "fixedAddresses": { "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", @@ -614,16 +696,13 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -658,14 +737,11 @@ } }, "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.59).\n", + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 4 and note 5.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], + "required": ["id", "vnfVirtualLinkDescId"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -680,11 +756,9 @@ "type": "string" }, "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -699,7 +773,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -709,21 +783,17 @@ "type": "array", "items": { "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -738,7 +808,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -748,12 +818,17 @@ "type": "string" }, "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } } } @@ -771,10 +846,7 @@ "items": { "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", "type": "object", - "required": [ - "id", - "performanceMetric" - ], + "required": ["id", "performanceMetric"], "properties": { "id": { "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", @@ -803,13 +875,9 @@ "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", "type": "array", "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n", "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], + "required": ["id", "vduId", "computeResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -824,11 +892,9 @@ "type": "string" }, "computeResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -843,7 +909,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -861,14 +927,11 @@ "type": "string" }, "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance.See note 2. May be present otherwise.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "cpdId" - ], + "required": ["id", "cpdId"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -883,37 +946,26 @@ "type": "string" }, "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", "type": "array", "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], + "required": ["layerProtocol", "ipOverEthernet"], "properties": { "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", @@ -921,39 +973,28 @@ "format": "MAC" }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], "properties": { "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -966,12 +1007,9 @@ "type": "boolean" }, "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -995,10 +1033,7 @@ "type": { "description": "The type of the IP addresses\n", "type": "string", - "enum": [ - "PV4", - "PV6" - ] + "enum": ["PV4", "PV6"] }, "addresses": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -1012,10 +1047,7 @@ "addressRange": { "description": "An IP address range used, e.g. in case of egress connections. See note.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -1048,6 +1080,10 @@ } } }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, "vnfLinkPortId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" @@ -1066,17 +1102,13 @@ } } }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 5.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -1091,11 +1123,9 @@ "type": "string" }, "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1110,7 +1140,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -1124,21 +1154,17 @@ "type": "array", "items": { "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1153,7 +1179,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -1163,12 +1189,17 @@ "type": "string" }, "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } } } @@ -1186,11 +1217,7 @@ "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], + "required": ["id", "virtualStorageDescId", "storageResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -1205,11 +1232,9 @@ "type": "string" }, "storageResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1224,7 +1249,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -1256,15 +1281,9 @@ "description": "Information about VNFC Snapshots constituting this VNF Snapshot.\n", "type": "array", "items": { - "description": "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1.\n", + "description": "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n", "type": "object", - "required": [ - "id", - "vnfcInstanceId", - "triggeredAt", - "createdAt", - "vnfcInfoId" - ], + "required": ["id", "vnfcInstanceId", "triggeredAt", "createdAt", "vnfcInfoId"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -1287,11 +1306,9 @@ "type": "string" }, "computeSnapshotResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1306,30 +1323,26 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } }, "storageSnapshotResources": { - "description": "Reference to the \"VirtualStorageResourceInfo\" structure in the \"VnfInstance\" structure that represents the virtual storage resource.\n", + "description": "Reference to the \"VirtualStorageResourceInfo\" structure in the \"VnfInstance\" structure that represents the virtual storage resource. See note 2.\n", "type": "array", "items": { "type": "object", - "required": [ - "storageResourceId" - ], + "required": ["storageResourceId"], "properties": { "storageResourceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "storageSnapshotResources": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1344,7 +1357,7 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } @@ -1368,16 +1381,12 @@ "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", diff --git a/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json b/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json index ccace64c8..b77364a8c 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json @@ -1,648 +1,728 @@ { "type": "array", "items": - { - "description": "This type represents an \"Individual VNF snapshot\" resource. The \"id\" attributed is used by the NFVO to index and\nidentify the VNF snapshots information resources that are accessible via the NFVO. The identifier is still\ngenerated by the VNFM and copied into the present \"VnfSnapshotInfo\" representing the \"Individual VNF snapshot\"\nresource hold by the NFVO.\n", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshotPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshot": { - "description": "This type represents a VNF Snapshot. It shall comply with the provisions defined in table 6.5.2.18-1.\n", - "type": "object", - "required": [ - "id", - "vnfInstanceId", - "triggeredAt", - "createdAt", - "vnfdId", - "vnfInstance", - "vnfcSnapshots" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstance": { - "description": "This type represents a VNF instance. Clause B.3.2 of ETSI GS NFV-SOL 003 [4] provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + { + "description": "This type represents an \"Individual VNF snapshot\" resource. The \"id\" attributed is used by the NFVO to index and\nidentify the VNF snapshots information resources that are accessible via the NFVO. The identifier is still\ngenerated by the VNFM and copied into the present \"VnfSnapshotInfo\" representing the \"Individual VNF snapshot\"\nresource hold by the NFVO.\n", + "type": "object", + "required": ["id"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfSnapshotPkgId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfSnapshot": { + "description": "This type represents a VNF Snapshot. It shall comply with the provisions defined in table 6.5.2.18-1.\n", + "type": "object", + "required": ["id", "vnfInstanceId", "triggeredAt", "createdAt", "vnfdId", "vnfInstance", "vnfcSnapshots"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstance": { + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1.\nNOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity \n of a VNF.\n\nNOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to \n the previous VNFD in other aspects than merely referencing to other VNF software images. \n In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, \n the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall \n be kept in sync with the values in the VNFD.\nNOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may depend \n on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 6.5.3.59).\nNOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfPkgId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\nPermitted values: - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. - INSTANTIATED: The VNF instance is instantiated.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": ["flavourId", "vnfState", "extCpInfo"], + "properties": { + "flavourId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfState": { + "type": "string", + "enum": ["STARTED", "STOPPED"] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1.\n", - "type": "object", - "required": [ - "id", - "cpdId" - ], - "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfigId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n", + "type": "object", + "required": ["id", "cpdId"], + "oneOf": [{ + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfigId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } } - ], + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "format": "IP" }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 6.5.3.97 1. NOTE: It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" } } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" } } } } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["resourceId"], "properties": { - "id": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId’ attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } } - ], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * At least one of the \"linkPortId\" and \"cpProtocolData\" attributes\n shall be present for a to-be-created external CP instance or an\n existing external CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [{ - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", + "type": "object", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["ipAddresses"] + }, { + "required": ["macAddress"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" } } } @@ -658,561 +738,614 @@ } } } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.59).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 4 and note 5.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "vnfVirtualLinkDescId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["resourceId"], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } } } + }, + "extManagedMultisiteVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } - }, - "extManagedMultisiteVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } } - } - }, - "monitoringParameters": { - "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", - "type": "array", - "items": { - "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" + }, + "monitoringParameters": { + "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } } } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n", + "type": "object", + "required": ["id", "vduId", "computeResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { + }, + "vduId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "computeResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "id", - "cpdId" - ], + "required": ["resourceId"], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance.See note 2. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "cpdId"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol", "ipOverEthernet"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: - IPV4 - IPV6\n", "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" } } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g. in case of egress connections. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": ["PV4", "PV6"] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } } + }, + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" } } } } + }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" } } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { + }, + "virtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": ["id", "virtualStorageDescId", "storageResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["resourceId"], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: * VNFC_CP: The link port is connected to a VNFC CP * EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" } } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" } } } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "vnfcSnapshots": { + "description": "Information about VNFC Snapshots constituting this VNF Snapshot.\n", + "type": "array", + "items": { + "description": "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n", + "type": "object", + "required": ["id", "vnfcInstanceId", "triggeredAt", "createdAt", "vnfcInfoId"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "computeSnapshotResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "type": "object", + "required": ["resourceId"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", + "type": "string" + } + } }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "storageSnapshotResources": { + "description": "Reference to the \"VirtualStorageResourceInfo\" structure in the \"VnfInstance\" structure that represents the virtual storage resource. See note 2.\n", "type": "array", "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], + "required": ["storageResourceId"], "properties": { - "id": { + "storageResourceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "storageSnapshotResources": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", "type": "object", - "required": [ - "resourceId" - ], + "required": ["resourceId"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -1227,170 +1360,46 @@ "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", "type": "string" } } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" } } } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "vnfcSnapshots": { - "description": "Information about VNFC Snapshots constituting this VNF Snapshot.\n", - "type": "array", - "items": { - "description": "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1.\n", + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", "type": "object", - "required": [ - "id", - "vnfcInstanceId", - "triggeredAt", - "createdAt", - "vnfcInfoId" - ], + "required": ["href"], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "computeSnapshotResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - }, - "storageSnapshotResources": { - "description": "Reference to the \"VirtualStorageResourceInfo\" structure in the \"VnfInstance\" structure that represents the virtual storage resource.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "storageResourceId" - ], - "properties": { - "storageResourceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "storageSnapshotResources": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "string" - } - } - } - } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" } } } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } } } } } - } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json b/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json index 49077f4ec..02c79691a 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json @@ -1,235 +1,167 @@ { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "object", - "anyOf": [ - { - "oneOf": [ - { - "required": [ - "nsdIds" - ] - }, - { - "required": [ - "vnfdIds" - ] - }, - { - "required": [ - "pnfdIds" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "nsInstanceIds" - ] - }, - { - "required": [ - "nsInstanceNames" - ] - } - ] - } - ], - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "A string as defined in IETF RFC 8259.\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string", - "format": "uri" - }, - "verbosity": { - "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to\n be sent via the notification mechanism.\n", - "type": "string", - "enum": [ - "FULL", - "SHORT" - ] - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", + "type": "object", + "required": ["id", "callbackUri", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "anyOf": [{ + "oneOf": [{ + "required": ["nsdIds"] + }, { + "required": ["vnfdIds"] + }, { + "required": ["pnfdIds"] + }] + }, { + "oneOf": [{ + "required": ["nsInstanceIds"] + }, { + "required": ["nsInstanceNames"] + }] + }], + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["NsLcmOperationOccurenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification", "NsChangeNotification", "NsLcmCapacityShortageNotification"] + } + }, + "operationTypes": { + "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] + } + }, + "operationStates": { + "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": ["PROCESSING", "COMPLETED", "PARTIALLY_COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] + } + }, + "affectedNsInstanceIds": { + "description": "Match particular identifiers of the NS instance(s) related to the operation occurrence that were affected by the shortage as reported in notifications of type NsLcmCapacityShortageNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmCapacityShortageNotification\", and shall be absent otherwise.\n", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsComponentTypes": { + "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", + "type": "array", + "items": { + "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", + "type": "string", + "enum": ["VNF", "PNF", "NS"] + } + }, + "lcmOpNameImpactingNsComponent": { + "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["VNF_INSTANTIATE", "VNF_SCALE", "VNF_SCALE_TO_LEVEL", "VNF_CHANGE_FLAVOUR", "VNF_TERMINATE", "VNF_HEAL", "VNF_OPERATE", "VNF_CHANGE_EXT_CONN", "VNF_MODIFY_INFO", "NS_INSTANTIATE", "NS_SCALE", "NS_UPDATE", "NS_TERMINATE", "NS_HEAL"] + } + }, + "lcmOpOccStatusImpactingNsComponent": { + "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue | Description VNF_INSTANTIATE\t Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t Represents the \"Scale NS\" LCM operation. NS_UPDATE\t Represents the \"Update NS\" LCM operation. NS_TERMINATE\t Represents the \"Terminate NS\" LCM operation. NS_HEAL\t Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["VNF_INSTANTIATE", "VNF_SCALE", "VNF_SCALE_TO_LEVEL", "VNF_CHANGE_FLAVOUR", "VNF_TERMINATE", "VNF_HEAL", "VNF_OPERATE", "VNF_CHANGE_EXT_CONN", "VNF_MODIFY_INFO", "VNF_CREATE_SNAPSHOT", "VNF_REVERT_TO_SNAPSHOT", "VNF_CHANGE_VNFPKG", "NS_INSTANTIATE", "NS_SCALE", "NS_UPDATE", "NS_TERMINATE", "NS_HEAL"] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "verbosity": { + "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism.\n", + "type": "string", + "enum": ["FULL", "SHORT"] + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json b/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json index 2e309654e..553fb0dca 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json @@ -1,239 +1,171 @@ { "type": "array", "items": - { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "object", - "anyOf": [ - { - "oneOf": [ - { - "required": [ - "nsdIds" - ] - }, - { - "required": [ - "vnfdIds" - ] - }, - { - "required": [ - "pnfdIds" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "nsInstanceIds" - ] - }, - { - "required": [ - "nsInstanceNames" - ] - } - ] - } - ], - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "A string as defined in IETF RFC 8259.\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string", - "format": "uri" - }, - "verbosity": { - "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to\n be sent via the notification mechanism.\n", - "type": "string", - "enum": [ - "FULL", - "SHORT" - ] - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } -} \ No newline at end of file + { + "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", + "type": "object", + "required": ["id", "callbackUri", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "anyOf": [{ + "oneOf": [{ + "required": ["nsdIds"] + }, { + "required": ["vnfdIds"] + }, { + "required": ["pnfdIds"] + }] + }, { + "oneOf": [{ + "required": ["nsInstanceIds"] + }, { + "required": ["nsInstanceNames"] + }] + }], + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["NsLcmOperationOccurenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification", "NsChangeNotification", "NsLcmCapacityShortageNotification"] + } + }, + "operationTypes": { + "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] + } + }, + "operationStates": { + "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": ["PROCESSING", "COMPLETED", "PARTIALLY_COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] + } + }, + "affectedNsInstanceIds": { + "description": "Match particular identifiers of the NS instance(s) related to the operation occurrence that were affected by the shortage as reported in notifications of type NsLcmCapacityShortageNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmCapacityShortageNotification\", and shall be absent otherwise.\n", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsComponentTypes": { + "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", + "type": "array", + "items": { + "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", + "type": "string", + "enum": ["VNF", "PNF", "NS"] + } + }, + "lcmOpNameImpactingNsComponent": { + "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["VNF_INSTANTIATE", "VNF_SCALE", "VNF_SCALE_TO_LEVEL", "VNF_CHANGE_FLAVOUR", "VNF_TERMINATE", "VNF_HEAL", "VNF_OPERATE", "VNF_CHANGE_EXT_CONN", "VNF_MODIFY_INFO", "NS_INSTANTIATE", "NS_SCALE", "NS_UPDATE", "NS_TERMINATE", "NS_HEAL"] + } + }, + "lcmOpOccStatusImpactingNsComponent": { + "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue | Description VNF_INSTANTIATE\t Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t Represents the \"Scale NS\" LCM operation. NS_UPDATE\t Represents the \"Update NS\" LCM operation. NS_TERMINATE\t Represents the \"Terminate NS\" LCM operation. NS_HEAL\t Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": ["VNF_INSTANTIATE", "VNF_SCALE", "VNF_SCALE_TO_LEVEL", "VNF_CHANGE_FLAVOUR", "VNF_TERMINATE", "VNF_HEAL", "VNF_OPERATE", "VNF_CHANGE_EXT_CONN", "VNF_MODIFY_INFO", "VNF_CREATE_SNAPSHOT", "VNF_REVERT_TO_SNAPSHOT", "VNF_CHANGE_VNFPKG", "NS_INSTANTIATE", "NS_SCALE", "NS_UPDATE", "NS_TERMINATE", "NS_HEAL"] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "verbosity": { + "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism.\n", + "type": "string", + "enum": ["FULL", "SHORT"] + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } + } \ No newline at end of file -- GitLab From 69aecd00b44bec98378305e3cdfc27ac0fd17626 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 22 Oct 2021 17:37:47 +0200 Subject: [PATCH 083/211] added NSChange and NSLCMCapacityShortage notification related tests in v3.5.1 --- .../NSLCMOperationKeywords.robot | 6 + .../NotificationEndpoint.robot | 50 ++++- .../Notifications.robot | 84 +++++++- .../jsons/NsChangeNotification.json | 17 ++ .../NsIdentifierCreationNotification.json | 2 +- .../NsIdentifierDeletionNotification.json | 2 +- .../NsLcmCapacityShortageNotification.json | 7 + .../NsLcmOperationOccurrenceNotification.json | 4 +- .../schemas/NsChangeNotification.schema.json | 182 ++++++++++++++++++ ...cmCapacityShortageNotification.schema.json | 165 ++++++++++++++++ 10 files changed, 512 insertions(+), 7 deletions(-) create mode 100644 SOL005/NSLifecycleManagement-API/jsons/NsChangeNotification.json create mode 100644 SOL005/NSLifecycleManagement-API/jsons/NsLcmCapacityShortageNotification.json create mode 100644 SOL005/NSLifecycleManagement-API/schemas/NsChangeNotification.schema.json create mode 100644 SOL005/NSLifecycleManagement-API/schemas/NsLcmCapacityShortageNotification.schema.json diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index 3fd36dfce..764073373 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -1141,6 +1141,8 @@ POST subscriptions Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify the tested the notification endpoint + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} POST subscriptions DUPLICATION @@ -1160,6 +1162,8 @@ POST subscriptions DUPLICATION Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify the tested the notification endpoint + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} POST subscriptions NO DUPLICATION @@ -1179,6 +1183,8 @@ POST subscriptions NO DUPLICATION Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify the tested the notification endpoint + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} GET Subscriptions diff --git a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot index 74ddf0e5b..a75c59608 100644 --- a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot @@ -45,7 +45,31 @@ Ns Identifier Deletion Notification ... Post-Conditions: none Post Ns Identifier Deletion Notification Check HTTP Response Status Code Is 204 - + +Ns Change Notification + [Documentation] Test ID: 5.3.2.26.4 + ... Test title: Ns Change Notification + ... Test objective: The objective is to test that Ns Change Notification is delivered with success to the notification consumer. + ... Pre-conditions: A subscription for Ns Change notification is available in the NFVO. + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post Ns Change Notification + Check HTTP Response Status Code Is 204 + +Ns LCM Capacity Shortage Notification + [Documentation] Test ID: 5.3.2.26.5 + ... Test title: Ns LCM Capacity Shortage Notification + ... Test objective: The objective is to test that Ns LCM Capacity Shortage Notification is delivered with success to the notification consumer. + ... Pre-conditions: A subscription for Ns LCM Capacity Shortage notification is available in the NFVO. + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post Ns LCM Capacity Shortage Notification + Check HTTP Response Status Code Is 204 + *** Keywords *** Check resource existence and get CallbackUri Set Headers {"Accept":"${ACCEPT}"} @@ -53,7 +77,7 @@ Check resource existence and get CallbackUri Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} Integer response status 200 - Validate Json response body subscription.schema.json + Validate Json response body schemas/subscription.schema.json Set Global Variable ${callbackResp} response body callbackUri Post Ns Lcm Operation Occurrence Notification @@ -90,3 +114,25 @@ Post Ns Identifier Deletion Notification Post ${callbackResp} ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Post Ns Change Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/NsChangeNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Ns LCM Capacity Shortage Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/NsLcmCapacityShortageNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL005/NSLifecycleManagement-API/Notifications.robot b/SOL005/NSLifecycleManagement-API/Notifications.robot index 6e1bceaa1..0e731c897 100644 --- a/SOL005/NSLifecycleManagement-API/Notifications.robot +++ b/SOL005/NSLifecycleManagement-API/Notifications.robot @@ -53,7 +53,7 @@ NS Identifier Deletion Notification [Documentation] Test ID: 5.3.2.17.4 ... Test title: NS Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of NS Identifier Deletion Notification when a NS instance resource is deleted in the NFVO, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A NS instance resource is created, and a subscription for NS identifier creation notifications is available in the NFVO. + ... Pre-conditions: A NS instance resource is created, and a subscription for NS identifier deletion notifications is available in the NFVO. ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none @@ -62,6 +62,32 @@ NS Identifier Deletion Notification Check NS Identifier Deletion Notification Http POST Request Body Json Schema Is NsIdentifierDeletionNotification Check NS Identifier Deletion Notification Http POST Request Body notificationType attribute Is NsIdentifierDeletionNotification +NS Change Notification + [Documentation] Test ID: 5.3.2.17.5 + ... Test title: NS Change Notification + ... Test objective: The objective is to test the dispatch of NS Change Notification when a NS instance component is affected by an LCM operation occurrence, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NS instance resource is created, and a subscription for NS change notifications is available in the NFVO. + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger a NS LCM operation that affects a NS instance component (external action) + Check NS Change Notification Http POST Request Body Json Schema Is NsChangeNotification + Check NS Change Notification Http POST Request Body notificationType attribute Is NsChangeNotification + +NS LCM Capacity Shortage Notification + [Documentation] Test ID: 5.3.2.17.6 + ... Test title: NS LCM Capacity Shortage Notification + ... Test objective: The objective is to test the dispatch of NS LCM Capacity Shortage Notification when a resource shortage occurs during the execution of an NS LCM operation, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NS instance resource is created, and a subscription for NS LCM Capacity Shortage notifications is available in the NFVO. + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger a resource shortage for a NS LCM operation (external action) + Check NS LCM Capacity Shortage Notification Http POST Request Body Json Schema Is NsLcmCapacityShortageNotification + Check NS LCM Capacity Shortage Notification Http POST Request Body notificationType attribute Is NsLcmCapacityShortageNotification + *** Keywords *** Trigger a NS LCM operation (external action) #do nothing @@ -78,7 +104,63 @@ Trigger the creation of a NS instance resource (external action) Trigger the deletion of a NS instance resource (external action) #do nothing Log do nothing + +Trigger a NS LCM operation that affects a NS instance component (external action) + #do nothing + Log do nothing + +Trigger a resource shortage for a NS LCM operation (external action) + #do nothing + Log do nothing + +Check NS LCM Capacity Shortage Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NS LCM Capacity Shortage Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification NS LCM Capacity Shortage Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Configure Notification NS LCM Capacity Shortage Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{headers}= Create Dictionary Content-Type=application/json + &{notification_response}= Create Mock Response headers=${headers} status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Check NS Change Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} +Check NS Change Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification NS Change Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Configure Notification NS Change Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{headers}= Create Dictionary Content-Type=application/json + &{notification_response}= Create Mock Response headers=${headers} status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + Check NS LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is [Arguments] ${element} ${schema}= Get File schemas/${element}.schema.json diff --git a/SOL005/NSLifecycleManagement-API/jsons/NsChangeNotification.json b/SOL005/NSLifecycleManagement-API/jsons/NsChangeNotification.json new file mode 100644 index 000000000..4de119579 --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/jsons/NsChangeNotification.json @@ -0,0 +1,17 @@ +{{ + "id":"123", + "nsInstanceId":"{nsInstanceId}", + "lcmOpOccIdImpactingNsComponent":"{nsLcmOpOccId}", + "lcmOpNameImpactingNsComponent" : "VNF_INSTANTIATE", + "lcmOpOccStatusImpactingNsComponent" : "START", + "nsComponentType" : "VNF", + "nsComponentId" : "abcd", + "notificationType":"NsChangeNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "_links": + {{ + "nsInstance": "", + "subscription": "" + }} +}} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierCreationNotification.json b/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierCreationNotification.json index 152d85523..fe31b80c2 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierCreationNotification.json +++ b/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierCreationNotification.json @@ -1,5 +1,5 @@ {{ - "id":"", + "id":"123", "notificationType":"NsIdentifierCreationNotification", "subscriptionId":"{subscriptionId}", "timeStamp":"", diff --git a/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierDeletionNotification.json b/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierDeletionNotification.json index 320d5ee3b..380c320df 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierDeletionNotification.json +++ b/SOL005/NSLifecycleManagement-API/jsons/NsIdentifierDeletionNotification.json @@ -1,5 +1,5 @@ {{ - "id":"", + "id":"123", "notificationType":"NsIdentifierDeletionNotification", "subscriptionId":"{subscriptionId}", "timeStamp":"", diff --git a/SOL005/NSLifecycleManagement-API/jsons/NsLcmCapacityShortageNotification.json b/SOL005/NSLifecycleManagement-API/jsons/NsLcmCapacityShortageNotification.json new file mode 100644 index 000000000..b668f8dfa --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/jsons/NsLcmCapacityShortageNotification.json @@ -0,0 +1,7 @@ +{{ + "id" : "123", + "notificationType" : "NsLcmCapacityShortageNotification", + "subscriptionId" : "{subscriptionId}", + "timestamp" : "", + "status" : "LCM_RESOURCES_NOT_AVAILABLE" +}} diff --git a/SOL005/NSLifecycleManagement-API/jsons/NsLcmOperationOccurrenceNotification.json b/SOL005/NSLifecycleManagement-API/jsons/NsLcmOperationOccurrenceNotification.json index ee02dd9c7..e12f5235a 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/NsLcmOperationOccurrenceNotification.json +++ b/SOL005/NSLifecycleManagement-API/jsons/NsLcmOperationOccurrenceNotification.json @@ -1,7 +1,7 @@ {{ - "id":"", + "id":"123", "nsInstanceId":"{nsInstanceId}", - "nsLcmOpOccId":"{nsLcmOpOccId}" + "nsLcmOpOccId":"{nsLcmOpOccId}", "operation":"INSTANTIATE", "notificationType":"NsLcmOperationOccurrenceNotification", "subscriptionId":"{subscriptionId}", diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsChangeNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsChangeNotification.schema.json new file mode 100644 index 000000000..87d30f444 --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/schemas/NsChangeNotification.schema.json @@ -0,0 +1,182 @@ + +{ + "description": "This type represents an NS change notification, which informs the receiver of changes on the NS instance caused by the LCM operation occurrence, which directly or indirectly impacts its NS component and is triggered without any context of this NS instance. This notification is different from the NsLcmOperationOccurenceNotification (see clause 6.5.2.5), which is triggered by the NS LCM operation occurrence on the NS instance itself. It shall comply with the provisions defined in Table 6.5.2.8-1. The support of the notification is mandatory. The trigger conditions include: 1) NS LCM operation occurrence which directly or indirectly impacts the NS component (start and result). If this is a notification about the start of an LCM operation occurrence impacting the NS component, the notification shall be sent as soon as the impact on the NS component is identified. If this is a notification about a final result state of an NS LCM operation occurrence impacting the NS component, the notification shall be sent after the impact on the NS component has been executed.\n", + "type": "object", + "required": [ + "id", + "nsInstanceId", + "nsComponentType", + "nsComponentId", + "lcmOpOccIdImpactingNsComponent", + "lcmOpNameImpactingNsComponent", + "lcmOpOccStatusImpactingNsCompon", + "notificationType", + "subscriptionId", + "timestamp", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsComponentType": { + "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", + "type": "string", + "enum": [ + "VNF", + "PNF", + "NS" + ] + }, + "nsComponentId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOpOccIdImpactingNsComponent": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOpNameImpactingNsComponent": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "VNF_INSTANTIATE", + "VNF_SCALE", + "VNF_SCALE_TO_LEVEL", + "VNF_CHANGE_FLAVOUR", + "VNF_TERMINATE", + "VNF_HEAL", + "VNF_OPERATE", + "VNF_CHANGE_EXT_CONN", + "VNF_MODIFY_INFO", + "NS_INSTANTIATE", + "NS_SCALE", + "NS_UPDATE", + "NS_TERMINATE", + "NS_HEAL" + ] + }, + "lcmOpOccStatusImpactingNsComponent": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue | Description VNF_INSTANTIATE\t Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t Represents the \"Scale NS\" LCM operation. NS_UPDATE\t Represents the \"Update NS\" LCM operation. NS_TERMINATE\t Represents the \"Terminate NS\" LCM operation. NS_HEAL\t Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "VNF_INSTANTIATE", + "VNF_SCALE", + "VNF_SCALE_TO_LEVEL", + "VNF_CHANGE_FLAVOUR", + "VNF_TERMINATE", + "VNF_HEAL", + "VNF_OPERATE", + "VNF_CHANGE_EXT_CONN", + "VNF_MODIFY_INFO", + "VNF_CREATE_SNAPSHOT", + "VNF_REVERT_TO_SNAPSHOT", + "VNF_CHANGE_VNFPKG", + "NS_INSTANTIATE", + "NS_SCALE", + "NS_UPDATE", + "NS_TERMINATE", + "NS_HEAL" + ] + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsChangeNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "type": "object", + "required": [ + "nsInstance" + ], + "properties": { + "nsInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nslcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmCapacityShortageNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmCapacityShortageNotification.schema.json new file mode 100644 index 000000000..49eae367e --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmCapacityShortageNotification.schema.json @@ -0,0 +1,165 @@ +{ + "description": "This type represents an NS LCM capacity shortage notification, which informs the receiver about resource shortage conditions during the execution of NS LCM operations. The notifications are triggered by the NFVO when a capacity shortage condition occurs during the execution of an NS LCM operation, which fails due to the resource shortage, or which succeeds despite the resource shortage because the NFVO has reduced the resource consumption of other NSs by requesting these NSs to be scaled in or terminated.\nThe notification shall comply with the provisions defined in Table 6.5.2.19-1. The support of the notification is mandatory.\nThis notification shall be triggered by the NFVO when there is a capacity shortage condition during the execution of an NS LCM operation which will cause the LCM operation to be not successfully completed, or which will trigger the automatic executing of an LCM operation to reduce the resource consumption of one or more NS instances to resolve a resource shortage situation. The shortage conditions include: •\tNecessary resources could not be allocated during an LCM operation because of resource shortage which causes\n the LCM operation to fail.\n•\tAn LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower\n priority because of resource shortage.\n•\tAn LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were\n de-allocated from the lower priority NS instance to allow the LCM operation on a higher priority NS instance.\n•\tThe resource capacity shortage situation has ended, and it can be expected that an LCM operation that had\n failed could succeed now if retried.\n\nNOTE:\tETSI GS NFV-IFA 013 [x] defines further shortage situations.\n These are not supported by the present version of the present document.\n\nThis notification shall also be triggered by the NFVO when a shortage condition has ended that has previously led to NS LCM operation occurrences failing. The notification shall be sent to all API consumers (OSS/BSS) that have subscribed to notifications related to capacity shortage and meeting the filter conditions of all pre-empted (low priority) and all pre-empting (high priority NS instance(s)). See ETSI GS NFV-IFA 010 [2], Annex D.2 for the use cases.\nThe notification about the result of an unsuccessful LCM operation occurrence shall include appropriate information about the resource shortage when the cause for failure is a resource shortage.\nThe notification where a pre-emption occurred due to e.g. a higher priority LCM operation during resource shortage shall include appropriate information about the pre-emption.\nNOTE: Not all operation occurrences that are in \"FAILED_TEMP\" have been pre-empted by a resource shortage.\n When the operation occurrences were pre-empted, the NS instances affected by the resource shortage end\n (“status“ = \"LCM_SHORTAGE_END\") which are pointed by \"affectedNsId\" in the list of \"affectedOpOccs\" structure\n can have the operations retried again (which needs a request by the OSS/BSS).\n\nNOTE 1:\tThe present version of the present document supports only the resource shortage status enumeration\n values “LCM_RESOURCES_NOT_AVAILABLE” and “LCM_SHORTAGE_END” which represent a subset of the trigger conditions\n defined in clause 8.3.5.2 of ETSI GS NFV-IFA 013 [x].\n", + "type": "object", + "required": ["id", "notificationType", "subscriptionId", "timestamp", "status"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsLcmCapacityShortageNotification\" for this notification type.\n", + "type": "string", + "enum": ["NsLcmCapacityShortageNotification"] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "preemptingNsLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "highPrioNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "status": { + "description": "Indicates the situation of capacity shortage. Permitted values: -\tLCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not\n be completed because necessary resources were not available.\n-\tLCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified\n by the nsLcmOpOccId attribute to fail has ended.\n", + "type": "string", + "enum": ["LCM_RESOURCES_NOT_AVAILABLE", "LCM_SHORTAGE_END"] + }, + "shortageType": { + "description": "Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage. Permitted values: -\tRESOURCE_SHORTAGE: the notification reports a resource shortage.\nShall be present when a resources shortage situation has been identified starts and the notification is sent with “status“ = “LCM_RESOURCES_NOT_AVAILABLE“ and shall be absent otherwise.\n", + "type": "string", + "enum": ["RESOURCE_SHORTAGE"] + }, + "affectedOpOccs": { + "description": "List of NS LCM operation occurrence(s) that were affected by the resource shortage.\n", + "type": "array", + "items": { + "type": "object", + "required": ["affectedNsId", "affectedOpOccId", "affectedCondition", "_links"], + "properties": { + "affectedNsId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "affectedOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "affectedCondition": { + "description": "This flag indicates in what condition (pre-empted or triggered) the operation occurrence(s) were affected by the resource shortage.\nPermitted values: -\tPRE_EMPTED: the operation was pre-empted and the \"operationState\" = \"FAILED_TEMP” of the NsLcmOpOcc\n structure identified by \"affectedOpOccId\" attribute.\n-\tTRIGGERED: the operation was triggered by NFVO and the “operationState” = \"FAILED_TEMP” of the\n NsLcmOpOcc structure identified by \"affectedOpOccId\" attribute.\n\nIn case the notification indicates the end of a shortage condition (“status“ = \"LCM_SHORTAGE_END\"), only entries with “affectedCondition“ = \"PRE_EMPTED\" shall be included. See note.\n", + "type": "string", + "enum": ["PRE_EMPTED", "TRIGGERED"] + }, + "_links": { + "description": "Links related to NS resources affected by the shortage of this operation occurrence.\n", + "type": "object", + "required": ["affectedLcmOpOcc", "affectedNs"], + "properties": { + "affectedLcmOpOcc": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "affectedNs": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } + }, + "capacityInformation": { + "description": "References to NFVI capacity information related to the shortage.\n", + "type": "array", + "items": { + "type": "object", + "required": ["vimId", "_link"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "_link": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "required": ["subscription"], + "properties": { + "preemptingNsLcmOpOcc": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "highPrioNsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file -- GitLab From e7ef12382c9b20d1a050522e240b9107e2c8f31f Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 18:04:50 +0200 Subject: [PATCH 084/211] Removing unused variables --- .../environment/variables.txt | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/SOL005/NSLifecycleManagement-API/environment/variables.txt b/SOL005/NSLifecycleManagement-API/environment/variables.txt index 7e11084e3..343077286 100644 --- a/SOL005/NSLifecycleManagement-API/environment/variables.txt +++ b/SOL005/NSLifecycleManagement-API/environment/variables.txt @@ -1,22 +1,17 @@ *** Variables *** -${VNFM_HOST} localhost # Hostname of the VNFM -${VNFM_PORT} 8080 # Listening port of the VNFM ${NFVO_HOST} localhost # Hostname of the NFVO ${NFVO_PORT} 8081 # Listening port of the NFVO -${VNFM_SCHEMA} https ${NFVO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${CONTENT_TYPE} application/json -${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json ${ACCEPT} application/json ${apiRoot} / ${apiName} nslcm ${apiMajorVersion} v2 ${AUTH_USAGE} 1 -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX ${nsInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${nsdId} 58a7beb6-aa89-405e-bd90-7d276b967c03 ${disabledNsdId} fca7c896-a7d0-4ff8-865e-f5c8ee2fd1c3 @@ -24,19 +19,10 @@ ${nonExistentNsId} nonExistent ${ConflictNsInstanceId} 007c111c-e602-4afa-8e13-962fb5a7d81d ${nsInstanceName} Test-nsInstance ${nsInstanceDescription} description ns -${nsInstanceDescription_Update} Updated description ns ${nsFlavourId} 0 ${nsDegreeHealing} HEAL_RESTORE ${vimAccountId} 931f6a4d-6a97-43f3-a6f0-13853ef577ea -${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT -${ACCEPT_PLAIN} text/plain -${ACCEPT_ZIP} application/zip -${nsPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c -${ARTIFACT_TYPE} application/octet-stream -${ARTIFACT_ID} artifactId -${WRONG_ACCEPT} application/json ${nsLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d -${CancelMode} GRACEFUL ${NFVO_DUPLICATION} 0 ${sub_filter} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 ${sub_filter_invalid} nfvid=41fdd38a-3d4c-465c-83e0-f80e014425f8 @@ -50,10 +36,6 @@ ${POS_filter_nsLcmOpOcc} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 ${NEG_filter_nsLcmOpOcc} nfvid=41fdd38a-3d4c-465c-83e0-f80e014425f8 ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${VnfLcmOperationOccurrenceNotification} {} -${VnfIdentifierCreationNotification} {} -${VnfIdentifierDeletionNotification} {} -${vnfUpdateType} ADD_VNF ${vnfInstanceId} id-of-new-vnf-instance-for-UPDATE-NS-Task ${instantiationLevelId} myNextLevel @@ -67,7 +49,6 @@ ${callback_port} 9091 ${callback_uri} http://localhost ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -80,9 +61,6 @@ ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies. ${response} {} ${Etag}= an etag -${Etag_modified}= a modified etag - -${NEG_FILTER} attribute_not_exist=some_value ${NEG_SELECTOR} fields=wrong_field ${json} {"notificationStatus": ""} @@ -114,8 +92,6 @@ ${tosca_type_NsVirtualLink} tosca.nodes.nfv.NsVirtualLink ${tosca_type_NsCP} tosca.nodes.nfv.Cp ${VDU_IDs} -${VNF_IDs} -${virtualLink_IDs} ${CP_IDs} ${Storage_IDs} ${internalCP_IDs} @@ -123,14 +99,13 @@ ${externalCP_IDs} ${InstantiationLevel_IDs} ${NS_VirtualLink_IDs} -${NsCP_IDs} + ${SAP_IDs} ${NS_DescriptorID} ${Designer} ${NS_Name} ${NS_Version} -${NS_InvariantId} ${Descriptor_ID} ${Provider} -- GitLab From 3bb8068b370e0e5241b9a69ba08a56ed10690cb9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 13:01:28 +0200 Subject: [PATCH 085/211] updated SOL005 NS FM to v3.5.1 --- SOL005/NSFaultManagement-API/Alarms.robot | 42 +++++++++---------- .../IndividualAlarm.robot | 16 +++---- .../IndividualSubscription.robot | 10 ++--- .../NotificationEndpoint.robot | 6 +-- .../NSFaultManagement-API/Notifications.robot | 12 +++--- .../NSFaultManagement-API/Subscriptions.robot | 42 +++++++++---------- 6 files changed, 64 insertions(+), 64 deletions(-) diff --git a/SOL005/NSFaultManagement-API/Alarms.robot b/SOL005/NSFaultManagement-API/Alarms.robot index 5909cfa68..2b7d26954 100644 --- a/SOL005/NSFaultManagement-API/Alarms.robot +++ b/SOL005/NSFaultManagement-API/Alarms.robot @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title:POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET information about multiple alarms with filters ... Test title: GET information about multiple alarms with filters ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: GET information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ GET information about multiple alarms as Paged Response ... Test title: GET information about multiple alarms as Paged Response ... Test objective: The objective is to retrieve information about the alarm list as paged response. ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ GET information about multiple alarms - Bad Request Response too Big ... Test title: GET information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information about the alarm list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ GET information about multiple alarms with filter "id" ... Test title: GET information about multiple alarms with filter "id" ... Test objective: The objective is to retrieve information about the alarm list with filter "id" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -206,7 +206,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -220,7 +220,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyVnfInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -234,7 +234,7 @@ GET information about multiple alarms with filter "rootCauseFaultyResource.fault ... Test title: GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyResource.faultyResourceType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -248,7 +248,7 @@ GET information about multiple alarms with filter "eventType" ... Test title: GET information about multiple alarms with filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with filter "eventType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -262,7 +262,7 @@ GET information about multiple alarms with filter "perceivedSeverity" ... Test title: GET information about multiple alarms with filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with filter "perceivedSeverity" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -276,7 +276,7 @@ GET information about multiple alarms with filter "probableCause" ... Test title: GET information about multiple alarms with filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with filter "probableCause" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/IndividualAlarm.robot b/SOL005/NSFaultManagement-API/IndividualAlarm.robot index 30b7c02b4..5a5b67107 100644 --- a/SOL005/NSFaultManagement-API/IndividualAlarm.robot +++ b/SOL005/NSFaultManagement-API/IndividualAlarm.robot @@ -14,7 +14,7 @@ POST Individual Alarm - Method not implemented ... Test title:POST Individual Alarm - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET information about Individual Alarm ... Test title: GET information about Individual Alarm ... Test objective: The objective is to retrieve information about individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET information about Invalid Individual Alarm ... Test title: GET information about Invalid Individual Alarm ... Test objective: The objective is to try to read an Invalid individual alarm and get 404 not found response code ... Pre-conditions: The related alarm does not exists - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Individual Alarm - Method not implemented ... Test title:PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Alarm ... Test title: Modify an individual alarm resource ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm modifications data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Alarm - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Alarm - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modifed if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: @@ -103,7 +103,7 @@ DELETE Individual Alarm - Method not implemented ... Test title:DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/IndividualSubscription.robot b/SOL005/NSFaultManagement-API/IndividualSubscription.robot index 91a2d2e70..cfc225e40 100644 --- a/SOL005/NSFaultManagement-API/IndividualSubscription.robot +++ b/SOL005/NSFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title:Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on NFV ... Pre-conditions:none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to DELETE an individual subscription ... Pre-conditions: The Subsbcription already exists - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is not deleted diff --git a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot index e64f7cd78..004fd0e51 100644 --- a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ NS Fault Alarm Notification ... Test title: NS Fault Alarm Notification ... Test objective: The objective is to test that NS Fault Alarm Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ NS Fault Alarm Cleared Notification ... Test title: NS Fault Alarm Cleared Notification ... Test objective: The objective is to test that NS Fault Alarm Cleared Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm cleared notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ NS Fault Alarm List Rebuilt Notification ... Test title: NS Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test that NS Fault Alarm List Rebuilt Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/Notifications.robot b/SOL005/NSFaultManagement-API/Notifications.robot index c00298038..dbbaa80f9 100644 --- a/SOL005/NSFaultManagement-API/Notifications.robot +++ b/SOL005/NSFaultManagement-API/Notifications.robot @@ -18,7 +18,7 @@ NS Fault Alarm Notification ... Test title: NS Fault Alarm Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Notification when a virtualised resource within an NS instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ NS Fault Alarm Cleared Notification ... Test title: NS Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Cleared Notification when a faulty virtualised resource within an NS instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ NS Fault Alarm List Rebuilt Notification ... Test title: NS Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm List Rebuilt Notification when the NFVO decides to rebuild the list of its NS alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ NS Fault Alarm Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Alarm Notification when a virtualised resource failure within an NS instance is automatically triggered through an instrumenation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance failure condition ... Post-Conditions: none @@ -70,7 +70,7 @@ NS Fault Alarm Cleared Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm Cleared Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Clear Alarm Notification when a virtualised resource failure within an NS instance is automatically cleared through an instrumenation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated and a virtualised resource is in faulty state. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance failure clear condition ... Post-Conditions: none @@ -83,7 +83,7 @@ NS Fault Alarm List Rebuilt Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm List Rebuilt Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Alarm List Rebuilt Notification when the NFVO decision to rebuild the list of its NS alarms is automatically triggered through an instrumentation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated and one or more virtualised resource are in faulty state - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance alarm list rebuilt condition ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index 661956e35..a71ed2385 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Create a new alarm subscription ... Test title: Create a new alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ Create a duplicated Subscription ... Test title: Create a duplicated alarm subscription ... Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure.. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: none @@ -54,7 +54,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ Retrieve a list of alarm subscriptions - Filter ... Test title: Retrieve a list of alarm subscriptions - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective:The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -106,7 +106,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ PATCH subscriptions - Method not implemented ... Test title:PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -169,7 +169,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -181,7 +181,7 @@ Retrieve a list of alarm subscriptions as Paged Response ... Test title: Retrieve a list of alarm subscriptions as Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions as paged response. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -194,7 +194,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective:The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ Retrieve a list of alarm subscriptions with filter "id" ... Test title: Retrieve a list of alarm subscriptions with filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -221,7 +221,7 @@ Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -235,7 +235,7 @@ Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -249,7 +249,7 @@ Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -263,7 +263,7 @@ Retrieve a list of alarm subscriptions with filter "filter.eventTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -277,7 +277,7 @@ Retrieve a list of alarm subscriptions with filter "filter.probableCauses" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -291,7 +291,7 @@ Create a new alarm subscription - Unprocessable Entity ... Test title: Create a new alarm subscription- Unprocessable Entity ... Test objective: The objective is to test that creation of a new Fault management alarm subscriptions fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From 9eb36bae4fc0dff1b0ae1a0c948010a9b94efc75 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:46:24 +0200 Subject: [PATCH 086/211] Removing unused variables --- SOL005/NSFaultManagement-API/environment/variables.txt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/SOL005/NSFaultManagement-API/environment/variables.txt b/SOL005/NSFaultManagement-API/environment/variables.txt index 2341a7553..a625ac838 100644 --- a/SOL005/NSFaultManagement-API/environment/variables.txt +++ b/SOL005/NSFaultManagement-API/environment/variables.txt @@ -29,11 +29,8 @@ ${perceivedSeverity} CRITICAL ${probableCause} ${invalidAlarmId} invalidAlramID -${Etag}= an etag -${Etag_modified}= a modified etag ${CONTENT_TYPE_PATCH} application/merge-patch+json -${PerceivedSeverity} CRITICAL ${sub_filter} filter ${sub_filter_invalid} filter_invalid @@ -41,25 +38,18 @@ ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${notification_type} AlarmNotification -${AlarmNotification} {} -${AlarmClearedNotification} {} -${AlarmListRebuiltNotification} {} ${invalid_etag}= invalid etag ${response} {} ${req_mock} {} -${resp_mock} {} ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -- GitLab From e22e0495a872e679e715eeac4bb5ca3a5fc12bd0 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 13:02:24 +0200 Subject: [PATCH 087/211] updated SOL005 NFVI Capacity to v3.5.1 --- .../CapacityThresholds.robot | 20 ++++++------- .../IndividualCapacityThreshold.robot | 14 ++++----- ...ndividualVIMsNFVICapacityInformation.robot | 14 ++++----- .../NFVICapacityInformation.robot | 30 +++++++++---------- .../NotificationEndpoint.robot | 12 ++++---- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot b/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot index f914ac8b6..161e3880e 100644 --- a/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot +++ b/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot @@ -7,7 +7,7 @@ POST Create Capacity Threshold ... Test title: POST Create Capacity Threshold ... Test objective: The objective is to test that POST method creates a Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -21,7 +21,7 @@ POST Create Capacity Threshold - Unprocessible Entity ... Test title: POST Create Capacity Threshold - Unprocessible Entity ... Test objective: The objective is to test that POST method creates a Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -34,7 +34,7 @@ GET Capacity Thresholds ... Test title: GET Capacity Thresholds ... Test objective: The objective is to GET Capacity Thresholds objects ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -47,7 +47,7 @@ GET Capacity Thresholds - Filter ... Test title: GET Capacity Thresholds - Filter ... Test objective: The objective is to GET Capacity Thresholds objects using filter ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters ... Test title: GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about Capacity Thresholds with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ GET Capacity Thresholds - Bad Request Response too Big ... Test title: GET Capacity Thresholds - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing Capacity Thresholds list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -86,7 +86,7 @@ GET Capacity Thresholds as Paged Response ... Test title: GET Capacity Thresholds as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing Capacity Thresholds as paged response. ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT Capacity Thresholds - Method not implemented ... Test title: PUT Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH Capacity Thresholds - Method not implemented ... Test title: PATCH Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE Capacity Thresholds - Method not implemented ... Test title: DELETE Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot b/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot index 15457a951..7bbb7237b 100644 --- a/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot +++ b/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot @@ -7,7 +7,7 @@ POST Individual Capacity Threshold ... Test title: POST Individual Capacity Threshold ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Individual Capacity Thresholds ... Test title: GET Capacity Thresholds ... Test objective: The objective is to test that GET method reads information about Individual Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Individual Capacity Thresholds - NOT FOUND ... Test title: GET Capacity Thresholds - NOT FOUND ... Test objective: The objective is to test that GET method returns an error when using and invalid URI ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual Capacity Threshold - Method not implemented ... Test title: PUT Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Individual Capacity Threshold - Success ... Test title: PATCH Individual Capacity Threshold - Success ... Test objective: The objective is to test that PATCH method successfully modifies an individual Capacity Threshold resource ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Capacity Threshold modified @@ -70,7 +70,7 @@ PATCH Individual Capacity Threshold - Precondition Failed ... Test title: PATCH Individual Capacity Threshold - Precondition Failed ... Test objective: The objective is to that the modification of individual Capacity Threshold fails because precondition given in an HTTP request header is not fulfilled due to an ETag mismatch. ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ PATCH Individual Capacity Threshold - Unprocessible Entity ... Test title: PATCH Individual Capacity Threshold - Precondition Failed ... Test objective: The objective is to that the modification of individual Capacity Threshold fails because callbackUri provided in the request body is unreachable. ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot b/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot index 1fc10029b..e350cfb13 100644 --- a/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot +++ b/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot @@ -7,7 +7,7 @@ POST Individual VIMs NFVI Capacity Information - Method not implemented ... Test title: POST Individual VIMs NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an Individual VIMs NFVI Capacity Information ... Test title: GET Information about an Individual VIMs NFVI Capacity Information ... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an Individual VIMs NFVI Capacity Information using filter ... Test title: GET Information about an Individual VIMs NFVI Capacity Information using filter query parameter ... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information using filter query parameter ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND ... Test title: GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND ... Test objective: The objective is to test that the retrieval of Individual VIMs NFVI Capacity Information fails when using an invalid resource identifier. ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ PUT Individual VIMs NFVI Capacity Information - Method not implemented ... Test title: PUT Individual VIMs NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -70,7 +70,7 @@ PATCH Individual VIMs NFVI Capacity Information - Method Not implemented ... Test title: PATCH Individual VIMs NFVI Capacity Information ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package modified @@ -82,7 +82,7 @@ DELETE Individual VIMs NFVI Capacity Information - Method Not implemented ... Test title: DELETE Individual VIMs NFVI Capacity Information - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package deleted diff --git a/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot b/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot index 07113ced8..a4bb52686 100644 --- a/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot +++ b/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot @@ -7,7 +7,7 @@ POST NFVI Capacity Information - Method not implemented ... Test title: POST NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET NFVI Capacity Information ... Test title: GET NFVI Capacity Information ... Test objective: The objective is to GET NFVI Capacity Information objects ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET NFVI Capacity Information - Filter ... Test title: GET NFVI Capacity Information - Filter ... Test objective: The objective is to GET NFVI Capacity Information objects using filter ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET NFVI Capacity Information Bad Request Invalid attribute-based filtering para ... Test title: GET NFVI Capacity Information Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET NFVI Capacity Information Bad Request Invalid attribute selector ... Test title: GET NFVI Capacity Information Bad Request Invalid attribute selector ... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET NFVI Capacity Information with "all_fields" attribute selector ... Test title: GET NFVI Capacity Information with "all_fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "all_fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET NFVI Capacity Information with "exclude_default" attribute selector ... Test title: GET NFVI Capacity Information with "exclude_default" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET NFVI Capacity Information with "fields" attribute selector ... Test title: GET NFVI Capacity Information with "fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET NFVI Capacity Information with "exclude_default" and "fields" attribute sele ... Test title: GET NFVI Capacity Information with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" and "fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET NFVI Capacity Information with "exclude_fields" attribute selector ... Test title: GET NFVI Capacity Information with "exclude_fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ GET NFVI Capacity Information - Bad Request Response too Big ... Test title: GET NFVI Capacity Information - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing NFVI Capacity Information list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -149,7 +149,7 @@ GET NFVI Capacity Information as Paged Response ... Test title: GET NFVI Capacity Information as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing NFVI Capacity Information as paged response. ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -162,7 +162,7 @@ PUT NFVI Capacity Information - Method not implemented ... Test title: PUT NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ PATCH NFVI Capacity Information - Method not implemented ... Test title: PATCH NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ DELETE NFVI Capacity Information - Method not implemented ... Test title: DELETE NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot b/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot index 81f641fef..d921f74a3 100644 --- a/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot +++ b/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot @@ -8,7 +8,7 @@ Capacity Shortage Notification ... Test title: Capacity Shortage Notification ... Test objective: The objective is to test that Capacity Shortage Notification is delivered with success to the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -20,7 +20,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ Test the Notification Endpoint - UNREACHABLE ... Test title: Test the Notification Endpoint - UNREACHABLE ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: The notification endpoint is unreachable by the API producer. ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none -- GitLab From fef63abac0870dde4157c9945fc970e910ac231a Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:43:25 +0200 Subject: [PATCH 088/211] Removing unused variables --- .../environment/variables.txt | 58 ------------------- 1 file changed, 58 deletions(-) diff --git a/SOL005/NFVICapacityInformation-API/environment/variables.txt b/SOL005/NFVICapacityInformation-API/environment/variables.txt index c27cc8636..d5ee2bb0c 100644 --- a/SOL005/NFVICapacityInformation-API/environment/variables.txt +++ b/SOL005/NFVICapacityInformation-API/environment/variables.txt @@ -7,8 +7,6 @@ ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken -${NFVO_FIELDS} 1 ${CONTENT_TYPE_PATCH} application/merge-patch+json @@ -19,75 +17,19 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} nfvici -${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint - -${NFVO_ALLOWS_DUPLICATE_SUBS} 1 - ${PAGING_SUPPORTED} 1 ${response} httpresponse -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec ${new_callback_uri} http://newcallbackuri/for/modifications ${unreachable_callback_uri} http://unreachable/endpoint -${notification_request} [] -${notification_response} [] - -${NFVO_non-MANO_OK} 1 # If 1 means that non-MANO artifacts are supported by the NFVO -${non_mano_artifact_sets} - - -${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586 -${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions -${newSubscriptionId} newSubsciptionId - -${origResponse} httpresponse - -${filter_ok} callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions -${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based -${SEPERATOR} = - - -${ACCEPT_PLAIN} text/plain -${CONTENT_TYPE_PLAIN} text/plain -${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File -${ACCEPT_ZIP} application/zip -${ACCEPT_OCTET} application/octet-stream -${CONTENT_TYPE_ZIP} application/zip -${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files -${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database -${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075 - - -${artifactPath} artifactPath -${CONTENT_TYPE_OCTET} application/octet-stream -${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO -${range} bytes=0-1023 -${full_size} 2000 # Size of the requested artifact to be downloaded via partial downloads -${erroneousRange} bytes=10000000-1000000000 # Requesting a out of range number of bytes -${vnfPackageOctetStreamId} octetStreamPkgId -${vnfdOctetStreamId} octetStreamVnfdId -${vndEncryptedArtifactID} encryptedId - - -${length} 1024 - ${POS_FILTER_info} vimId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,resourceType=VR_COMPUTE # Positive case, suing compiant fields name for filtering get request ${POS_FILTER_threshold} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Positive case, suing compiant fields name for filtering get request ${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields_capacityInfo} timeInterval -${fields_capacityThreshold} subObjectInstanceIds -${VAR_SEPERATOR} & ${callbackResp} localhost -- GitLab From 7f3ae91ab1f3f0c949c8745c47c9148e017b3d52 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 19 Oct 2021 09:55:12 +0200 Subject: [PATCH 089/211] added first content for NS LCM Coord API in v3.5.1 --- SOL005/NSLCMCoordination-API/ApiVersion.robot | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot new file mode 100644 index 000000000..13dd255d2 --- /dev/null +++ b/SOL005/NSLCMCoordination-API/ApiVersion.robot @@ -0,0 +1,4 @@ +*** Settings *** + +*** Test Cases *** + -- GitLab From ee2f66776478c64d88a5906fea54cd939a108700 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 15:32:47 +0200 Subject: [PATCH 090/211] Added NSLCM Coordination endpoint --- SOL005/NSLCMCoord-API/ApiVersion.robot | 213 ++++++++++++ .../NSLCMCoord-API/IndividualNSLCMCoord.robot | 113 +++++++ SOL005/NSLCMCoord-API/NSLCMCoord.robot | 101 ++++++ .../NSLCMCoord-API/NSLCMCoordCancelTask.robot | 144 +++++++++ .../NSLCMCoord-API/NSLCMCoordKeywords.robot | 253 +++++++++++++++ SOL005/NSLCMCoord-API/Notifications.robot | 306 ++++++++++++++++++ SOL005/NSLCMCoord-API/Subscriptions.robot | 186 +++++++++++ .../NSLCMCoord-API/environment/variables.txt | 20 ++ .../jsons/createLcmCoordRequest.json | 1 + .../schemas/LcmCoord.schema.json | 0 SOL005/NSLCMCoordination-API/ApiVersion.robot | 4 - 11 files changed, 1337 insertions(+), 4 deletions(-) create mode 100644 SOL005/NSLCMCoord-API/ApiVersion.robot create mode 100644 SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoord.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot create mode 100644 SOL005/NSLCMCoord-API/Notifications.robot create mode 100644 SOL005/NSLCMCoord-API/Subscriptions.robot create mode 100644 SOL005/NSLCMCoord-API/environment/variables.txt create mode 100644 SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json create mode 100644 SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json delete mode 100644 SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoord-API/ApiVersion.robot b/SOL005/NSLCMCoord-API/ApiVersion.robot new file mode 100644 index 000000000..2f35eb345 --- /dev/null +++ b/SOL005/NSLCMCoord-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.1.10.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.1.10.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot new file mode 100644 index 000000000..8e075bd49 --- /dev/null +++ b/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot @@ -0,0 +1,113 @@ +*** Settings *** +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +POST an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: POST an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + POST an individual Coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +Get information about a finished coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to a terminated coordination task + ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. + ... Pre-conditions: Individual coordination task is terminated + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about a finished coordination task + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + + +Get information about an ongoing coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to an ongoing coordination task + ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled + ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 202 + + +Get information about an invalid coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to an invalid coordination task + ... Test objective: The objective is to try to read an individual coordination task + ... Pre-conditions: Individual coordination task is not present + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 404 + + +Get information about a finished coordination task without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to a finished coordination task without authentication + ... Test objective: The objective is to try to read an individual coordination task without using authentication + ... Pre-conditions: none + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 401 + + +PUT an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PATCH an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +DELETE an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoord-API/NSLCMCoord.robot new file mode 100644 index 000000000..e8fd90e54 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoord.robot @@ -0,0 +1,101 @@ +*** Settings *** +Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +Request a cancellation of an ongoing coordination action + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a cancellation of an ongoing coordination action + ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Pre-conditions: An ongoing coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 202 + + +Request a cancellation of a finished coordination action + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a cancellation of aterminated coordination action + ... Test objective: The objective is to test the request for the cancellation of a finished coordination action + ... Pre-conditions: A finished coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of a finished coordination action + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + + + +Request a cancellation of an ongoing coordination action without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a cancellation of an ongoing coordination action without using authentication + ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used + ... Pre-conditions: none + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action without authorization token + Check HTTP Response Status Code Is 401 + + +GET information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +PUT information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +PATCH information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +DELETE information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot new file mode 100644 index 000000000..7fd7881c1 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot @@ -0,0 +1,144 @@ +*** Settings *** +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +Request a Coordination of an LCM operation occurrence synchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously + ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LcmCoord + Check Postcondition LcmCoord Exists + + +Request a Coordination of an LCM operation occurrence asynchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence asynchronously + ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + + +Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - conflict + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + + +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Check HTTP Response Status Code Is 503 + Check HTTP Response Header Contains Retry-After + + +Request a Coordination of an LCM operation occurrence without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence without authorization token + Check HTTP Response Status Code Is 401 + + +Request a Coordination of an LCM operation occurrence with malformed request + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence with malformed request + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PUT all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PATCH all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +DELETE all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot new file mode 100644 index 000000000..c59d23f72 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot @@ -0,0 +1,253 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library MockServerLibrary +Library OperatingSystem +Library BuiltIn +Library JSONLibrary +Library Collections +Library JSONSchemaLibrary schemas/ +Library RequestsLibrary +Library Process +Library String + +*** Keywords *** +Send Post Request for coordination of an LCM operation occurrence + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequest.json + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Log ${response['body']} + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + + +Check Postcondition LcmCoord Exists + Log Checking that individual lcm coordination exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordiations/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + + +Send Post Request for coordination of an LCM operation occurrence - conflict + Log To be done + + +Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Log To be done + + +Send Post Request for coordination of an LCM operation occurrence without authorization token + Log Requesting a new coordination task for an LCM Operation occurrence without authorization token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequest.json + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for coordination of an LCM operation occurrence with malformed request + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequestMalformed.json + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET all Coordinations of an LCM operation occurrence + Log Requesting the retrieve of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT all Coordinations of an LCM operation occurrence + Log Requesting the update of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + + +PATCH all Coordinations of an LCM operation occurrence + Log Requesting the update of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + + +DELETE all Coordinations of an LCM operation occurrence + Log Requesting the removal of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + +Retrieve information about a finished coordination task + Log Requesting the retrieve of a finished coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve information about an ongoing coordination task + Log Requesting the retrieve of an ongoing coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve information about an invalid coordination task + Log Requesting the retrieve of an invalid coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${erroneousCoordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +POST an individual Coordination of an LCM operation occurrence + Log Requesting the creation of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT an individual coordination action of an LCM operation occurrence + Log Requesting the update of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +PATCH an individual coordination action of an LCM operation occurrence + Log Requesting the update of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +DELETE an individual coordination action of an LCM operation occurrence + Log Requesting the removal of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Send Post Request for cancellation of an ongoing coordination action + Log Requesting the cancellatio9n of an ongoing coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for cancellation of a finished coordination action + Log Requesting the cancellation of a finished coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Send Post Request for cancellation of an ongoing coordination action without authorization token + Log Requesting the cancellation of an ongoing coordination task without authorization + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET information about a cancellation of an ongoing coordination action + Log Requesting information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT information about a cancellation of an ongoing coordination action + Log Update information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +PATCH information about a cancellation of an ongoing coordination action + Log Update information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +DELETE information about a cancellation of an ongoing coordination action + Log Terminate a cancellation task related to an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Notifications.robot b/SOL005/NSLCMCoord-API/Notifications.robot new file mode 100644 index 000000000..e6d214945 --- /dev/null +++ b/SOL005/NSLCMCoord-API/Notifications.robot @@ -0,0 +1,306 @@ +*** Setting *** +Resource environment/variables.txt +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true +Library MockServerLibrary +Library Process +Library OperatingSystem +Library BuiltIn +Library Collections +Library String + +*** Test Cases *** +NSD Onboarding Notification + [Documentation] Test ID: 5.3.1.9.1 + ... Test title: NSD Onboarding Notification + ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NSD management subscription for onboarding notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the completion of NSD Onboarding (external action) + Check NSD Onboarding Notification Http Request Body Json Schema Is NsdOnboardingNotification + Check NSD Onboarding Notification Http Request Body notificationType attribute Is NsdOnboardingNotification + +NSD Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.9.2 + ... Test title: NSD Onboarding Failure Notification + ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NSD management subscription for onboarding failure notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the failure of NSD Onboarding (external action) + Check NSD Onboarding Failure Notification Http Request Body Json Schema Is NsdOnboardingFailureNotification + Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is NsdOnboardingFailureNotification + +NSD Operational State Change Notification + [Documentation] Test ID: 5.3.1.9.3 + ... Test title: NSD Operational State Change Notification + ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NSD management subscription for operational state change notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the change of NSD Operational State (external action) + Check NSD Operational State Change Notification Http Request Body Json Schema Is NsdChangeNotification + Check NSD Operational State Change Notification Http Request Body notificationType attribute Is NsdChangeNotification + +NSD Deletion Notification + [Documentation] Test ID: 5.3.1.9.4 + ... Test title: NSD Deletion Notification + ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A NSD management subscription for deletion notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the deletion of NSD (external action) + Check NSD Deletion Notification Http Request Body Json Schema Is NsdDeletionNotification + Check NSD Deletion Notification Http Request Body notificationType attribute Is NsdDeletionNotification + +PNFD Onboarding Notification + [Documentation] Test ID: 5.3.1.9.5 + ... Test title: PNFD Onboarding Notification + ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A PNFD management subscription for onboarding notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the completion of PNFD Onboarding (external action) + Check PNFD Onboarding Notification Http Request Body Json Schema Is PnfdOnboardingNotification + Check PNFD Onboarding Notification Http Request Body notificationType attribute Is PnfdOnboardingNotification + +PNFD Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.9.6 + ... Test title: PNFD Onboarding Failure Notification + ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A PNFD management subscription for onboarding failure notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the failure of PNFD Onboarding (external action) + Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is PnfdOnboardingFailureNotification + Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is PndfOnboardingFailureNotification + +PNFD Deletion Notification + [Documentation] Test ID: 5.3.1.9.7 + ... Test title: PNFD Deletion Notification + ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A PNFD management subscription for deletion notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the deletion of PNFD (external action) + Check PNFD Deletion Notification Http Request Body Json Schema Is PnfdDeletionNotification + Check PNFD Deletion Notification Http Request Body notificationType attribute Is PnfdDeletionNotification + + +*** Keywords *** +Trigger the completion of NSD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the failure of NSD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the change of NSD Operational State (external action) + #do nothing + Log do nothing + +Trigger the deletion of NSD (external action) + #do nothing + Log do nothing + +Trigger the completion of PNFD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the failure of PNFD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the deletion of PNFD (external action) + #do nothing + Log do nothing + +Check PNFD Onboarding Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Onboarding Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure PNFD Onboarding Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification PNFD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check PNFD Deletion Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Deletion Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure PNFD Deletion Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Onboarding Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Onboarding Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Onboarding Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Onboarding Failure Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification NSD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Operational State Change Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Operational State Change Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Operational State Change Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Deletion Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Deletion Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Deletion Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Configure PNFD Deletion Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Deletion Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Operational State Change Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure PNFD Onboarding Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification PNFD Onboarding Failure Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Onboarding Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification NSD Onboarding Failure Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock HTTP forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Subscriptions.robot b/SOL005/NSLCMCoord-API/Subscriptions.robot new file mode 100644 index 000000000..170efabc2 --- /dev/null +++ b/SOL005/NSLCMCoord-API/Subscriptions.robot @@ -0,0 +1,186 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSDManagementKeywords.robot +Library OperatingSystem +Library JSONLibrary +Library Process +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true + +*** Test Cases *** +Get All NSD Management Subscriptions + [Documentation] Test ID: 5.3.1.7.1 + ... Test title: Get All NSD Management Subscriptions + ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NsdmSubscriptions + +Get NSD Management Subscriptions with attribute-based filter + [Documentation] Test ID: 5.3.1.7.2 + ... Test title: Get NSD Management Subscriptions with attribute-based filter + ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NsdmSubscriptions + Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter + +Get NSD Management Subscriptions with invalid attribute-based filter + [Documentation] Test ID: 5.3.1.7.3 + ... Test title: Get NSD Management Subscriptions with attribute-based filters + ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NSD Management Subscription with invalid resource endpoint + [Documentation] Test ID: 5.3.1.7.4 + ... Test title: GET NSD Management Subscription with invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with invalid resource endpoint + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +Create new NSD Management subscription + [Documentation] Test ID: 5.3.1.7.5 + ... Test title: Create new NSD Management subscription + ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription + Send Post Request for NSD Management Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is NsdmSubscription + Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription + Check Postcondition NSD Management Subscription Is Set + +Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions + [Tags] no-duplicated-subs + [Documentation] Test ID: 5.3.1.7.6 + ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions + ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO does not support the creation of duplicated subscriptions + ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO + Send Post Request for Duplicated NSD Management Subscription + Check HTTP Response Status Code Is 303 + Check HTTP Response Body Is Empty + Check HTTP Response Header Contains Location + Check Postcondition Subscription Resource Returned in Location Header Is Available + +Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions + [Tags] duplicated-subs + [Documentation] Test ID: 5.3.1.7.7 + ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions + ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports the creation of duplicated subscriptions + ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription + Send Post Request for Duplicated NSD Management Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is NsdmSubscription + Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription + Check Postcondition NSD Management Subscription Is Set + +PUT NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.8 + ... Test title: PUT NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Put Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + +PATCH NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.9 + ... Test title: PATCH NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Patch Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + +DELETE NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.10 + ... Test title: DELETE NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation + Send Delete Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + Check Postcondition NSD Management Subscriptions Exists + +Get All NSD Management Subscriptions as Paged Response + [Documentation] Test ID: 5.3.1.7.11 + ... Test title: Get All NSD Management Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contain Link + +Get NSD Management Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.1.7.12 + ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +Create new NSD Management subscription - Unprocessable Entity + [Documentation] Test ID: 5.3.1.7.13 + ... Test title: Create new NSD Management subscription - Unprocessable Entity + ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for NSD Management Subscription + Check HTTP Response Status Code Is 422 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/environment/variables.txt b/SOL005/NSLCMCoord-API/environment/variables.txt new file mode 100644 index 000000000..17b0218da --- /dev/null +++ b/SOL005/NSLCMCoord-API/environment/variables.txt @@ -0,0 +1,20 @@ +*** Variables *** +${NFVO_HOST} localhost # Hostname of the NFVO +${NFVO_PORT} 8081 # Listening port of the NFVO +${NFVO_SCHEMA} https +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${NFVO_AUTH_USAGE} 1 +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json +${apiRoot} / +${apiMajorVersion} v1 +${apiName} lcmcoord + + +${response} httpresponse + +${coordinationId} 297b3460-dfbe-4c7f-80e6-7e7df8e11031 +${ongoingCoordinationId} afa7e711-dd83-4605-b426-57da720df71b +${erroneousCoordinationId} ERRONEOUS_COORDINATION_ID diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json new file mode 100644 index 000000000..e69de29bb diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot deleted file mode 100644 index 13dd255d2..000000000 --- a/SOL005/NSLCMCoordination-API/ApiVersion.robot +++ /dev/null @@ -1,4 +0,0 @@ -*** Settings *** - -*** Test Cases *** - -- GitLab From b34553ca0700aca340440851b6df0a6cad5f909e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 15:33:34 +0200 Subject: [PATCH 091/211] Refactoring files --- SOL005/NSLCMCoord-API/Notifications.robot | 306 ---------------------- SOL005/NSLCMCoord-API/Subscriptions.robot | 186 ------------- 2 files changed, 492 deletions(-) delete mode 100644 SOL005/NSLCMCoord-API/Notifications.robot delete mode 100644 SOL005/NSLCMCoord-API/Subscriptions.robot diff --git a/SOL005/NSLCMCoord-API/Notifications.robot b/SOL005/NSLCMCoord-API/Notifications.robot deleted file mode 100644 index e6d214945..000000000 --- a/SOL005/NSLCMCoord-API/Notifications.robot +++ /dev/null @@ -1,306 +0,0 @@ -*** Setting *** -Resource environment/variables.txt -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - -*** Test Cases *** -NSD Onboarding Notification - [Documentation] Test ID: 5.3.1.9.1 - ... Test title: NSD Onboarding Notification - ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A NSD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the completion of NSD Onboarding (external action) - Check NSD Onboarding Notification Http Request Body Json Schema Is NsdOnboardingNotification - Check NSD Onboarding Notification Http Request Body notificationType attribute Is NsdOnboardingNotification - -NSD Onboarding Failure Notification - [Documentation] Test ID: 5.3.1.9.2 - ... Test title: NSD Onboarding Failure Notification - ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A NSD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the failure of NSD Onboarding (external action) - Check NSD Onboarding Failure Notification Http Request Body Json Schema Is NsdOnboardingFailureNotification - Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is NsdOnboardingFailureNotification - -NSD Operational State Change Notification - [Documentation] Test ID: 5.3.1.9.3 - ... Test title: NSD Operational State Change Notification - ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A NSD management subscription for operational state change notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the change of NSD Operational State (external action) - Check NSD Operational State Change Notification Http Request Body Json Schema Is NsdChangeNotification - Check NSD Operational State Change Notification Http Request Body notificationType attribute Is NsdChangeNotification - -NSD Deletion Notification - [Documentation] Test ID: 5.3.1.9.4 - ... Test title: NSD Deletion Notification - ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A NSD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the deletion of NSD (external action) - Check NSD Deletion Notification Http Request Body Json Schema Is NsdDeletionNotification - Check NSD Deletion Notification Http Request Body notificationType attribute Is NsdDeletionNotification - -PNFD Onboarding Notification - [Documentation] Test ID: 5.3.1.9.5 - ... Test title: PNFD Onboarding Notification - ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A PNFD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the completion of PNFD Onboarding (external action) - Check PNFD Onboarding Notification Http Request Body Json Schema Is PnfdOnboardingNotification - Check PNFD Onboarding Notification Http Request Body notificationType attribute Is PnfdOnboardingNotification - -PNFD Onboarding Failure Notification - [Documentation] Test ID: 5.3.1.9.6 - ... Test title: PNFD Onboarding Failure Notification - ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A PNFD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the failure of PNFD Onboarding (external action) - Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is PnfdOnboardingFailureNotification - Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is PndfOnboardingFailureNotification - -PNFD Deletion Notification - [Documentation] Test ID: 5.3.1.9.7 - ... Test title: PNFD Deletion Notification - ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. - ... Pre-conditions: A PNFD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the deletion of PNFD (external action) - Check PNFD Deletion Notification Http Request Body Json Schema Is PnfdDeletionNotification - Check PNFD Deletion Notification Http Request Body notificationType attribute Is PnfdDeletionNotification - - -*** Keywords *** -Trigger the completion of NSD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the failure of NSD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the change of NSD Operational State (external action) - #do nothing - Log do nothing - -Trigger the deletion of NSD (external action) - #do nothing - Log do nothing - -Trigger the completion of PNFD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the failure of PNFD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the deletion of PNFD (external action) - #do nothing - Log do nothing - -Check PNFD Onboarding Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Onboarding Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure PNFD Onboarding Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification PNFD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check PNFD Deletion Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Deletion Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure PNFD Deletion Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Onboarding Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Onboarding Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Onboarding Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Onboarding Failure Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification NSD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Operational State Change Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Operational State Change Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Operational State Change Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Deletion Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Deletion Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Deletion Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Configure PNFD Deletion Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Deletion Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Operational State Change Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure PNFD Onboarding Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification PNFD Onboarding Failure Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Onboarding Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification NSD Onboarding Failure Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock HTTP forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Subscriptions.robot b/SOL005/NSLCMCoord-API/Subscriptions.robot deleted file mode 100644 index 170efabc2..000000000 --- a/SOL005/NSLCMCoord-API/Subscriptions.robot +++ /dev/null @@ -1,186 +0,0 @@ -*** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Resource NSDManagementKeywords.robot -Library OperatingSystem -Library JSONLibrary -Library Process -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true - -*** Test Cases *** -Get All NSD Management Subscriptions - [Documentation] Test ID: 5.3.1.7.1 - ... Test title: Get All NSD Management Subscriptions - ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is NsdmSubscriptions - -Get NSD Management Subscriptions with attribute-based filter - [Documentation] Test ID: 5.3.1.7.2 - ... Test title: Get NSD Management Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with attribute-based filters - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is NsdmSubscriptions - Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter - -Get NSD Management Subscriptions with invalid attribute-based filter - [Documentation] Test ID: 5.3.1.7.3 - ... Test title: Get NSD Management Subscriptions with attribute-based filters - ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with invalid attribute-based filters - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET NSD Management Subscription with invalid resource endpoint - [Documentation] Test ID: 5.3.1.7.4 - ... Test title: GET NSD Management Subscription with invalid resource endpoint - ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with invalid resource endpoint - Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails - -Create new NSD Management subscription - [Documentation] Test ID: 5.3.1.7.5 - ... Test title: Create new NSD Management subscription - ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure - ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription - Send Post Request for NSD Management Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is NsdmSubscription - Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription - Check Postcondition NSD Management Subscription Is Set - -Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions - [Tags] no-duplicated-subs - [Documentation] Test ID: 5.3.1.7.6 - ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions - ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: The NFVO does not support the creation of duplicated subscriptions - ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO - Send Post Request for Duplicated NSD Management Subscription - Check HTTP Response Status Code Is 303 - Check HTTP Response Body Is Empty - Check HTTP Response Header Contains Location - Check Postcondition Subscription Resource Returned in Location Header Is Available - -Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions - [Tags] duplicated-subs - [Documentation] Test ID: 5.3.1.7.7 - ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions - ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: The NFVO supports the creation of duplicated subscriptions - ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription - Send Post Request for Duplicated NSD Management Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is NsdmSubscription - Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription - Check Postcondition NSD Management Subscription Is Set - -PUT NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.8 - ... Test title: PUT NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Put Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - -PATCH NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.9 - ... Test title: PATCH NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Patch Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - -DELETE NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.10 - ... Test title: DELETE NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation - Send Delete Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - Check Postcondition NSD Management Subscriptions Exists - -Get All NSD Management Subscriptions as Paged Response - [Documentation] Test ID: 5.3.1.7.11 - ... Test title: Get All NSD Management Subscriptions as Paged Response - ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Header Contain Link - -Get NSD Management Subscriptions - Bad Request Response too Big - [Documentation] Test ID: 5.3.1.7.12 - ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -Create new NSD Management subscription - Unprocessable Entity - [Documentation] Test ID: 5.3.1.7.13 - ... Test title: Create new NSD Management subscription - Unprocessable Entity - ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed - ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for NSD Management Subscription - Check HTTP Response Status Code Is 422 \ No newline at end of file -- GitLab From 6249ded46944435561dd345e1801dd019294059d Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 16:41:43 +0200 Subject: [PATCH 092/211] Adding schemas and json body requests --- SOL005/NSLCMCoord-API/NSLCMCoord.robot | 133 ++++++++++------ .../NSLCMCoord-API/NSLCMCoordCancelTask.robot | 133 ++++++---------- .../jsons/createLcmCoordRequest.json | 16 +- .../jsons/createLcmCoordRequestMalformed.json | 15 ++ .../schemas/LcmCoord.schema.json | 143 ++++++++++++++++++ 5 files changed, 306 insertions(+), 134 deletions(-) create mode 100644 SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoord-API/NSLCMCoord.robot index e8fd90e54..7fd7881c1 100644 --- a/SOL005/NSLCMCoord-API/NSLCMCoord.robot +++ b/SOL005/NSLCMCoord-API/NSLCMCoord.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource NSLCMCoordKeywords.robot @@ -8,94 +8,137 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri Library OperatingSystem *** Test Cases *** -Request a cancellation of an ongoing coordination action +Request a Coordination of an LCM operation occurrence synchronously [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a cancellation of an ongoing coordination action - ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task - ... Pre-conditions: An ongoing coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously + ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LcmCoord + Check Postcondition LcmCoord Exists + + +Request a Coordination of an LCM operation occurrence asynchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence asynchronously + ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for cancellation of an ongoing coordination action + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location -Request a cancellation of a finished coordination action +Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a cancellation of aterminated coordination action - ... Test objective: The objective is to test the request for the cancellation of a finished coordination action - ... Pre-conditions: A finished coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for cancellation of a finished coordination action + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + - +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Check HTTP Response Status Code Is 503 + Check HTTP Response Header Contains Retry-After + -Request a cancellation of an ongoing coordination action without authentication +Request a Coordination of an LCM operation occurrence without authentication [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a cancellation of an ongoing coordination action without using authentication - ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used + ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Post Request for cancellation of an ongoing coordination action without authorization token + Send Post Request for coordination of an LCM operation occurrence without authorization token Check HTTP Response Status Code Is 401 -GET information about a cancellation of an ongoing coordination action - method not implemented +Request a Coordination of an LCM operation occurrence with malformed request + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence with malformed request + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: GET information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - GET information about a cancellation of an ongoing coordination action + GET all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -PUT information about a cancellation of an ongoing coordination action - method not implemented +PUT all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PUT information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PUT information about a cancellation of an ongoing coordination action + PUT all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -PATCH information about a cancellation of an ongoing coordination action - method not implemented +PATCH all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PATCH information about a cancellation of an ongoing coordination action - ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PATCH information about a cancellation of an ongoing coordination action + PATCH all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -DELETE information about a cancellation of an ongoing coordination action - method not implemented +DELETE all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: DELETE information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - DELETE information about a cancellation of an ongoing coordination action + DELETE all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot index 7fd7881c1..e8fd90e54 100644 --- a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot +++ b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource NSLCMCoordKeywords.robot @@ -8,137 +8,94 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri Library OperatingSystem *** Test Cases *** -Request a Coordination of an LCM operation occurrence synchronously +Request a cancellation of an ongoing coordination action [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously - ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO - Send Post Request for coordination of an LCM operation occurrence - Check HTTP Response Status Code Is 201 - Check HTTP Response Header Contains Location - Check HTTP Response Body Json Schema Is LcmCoord - Check Postcondition LcmCoord Exists - - -Request a Coordination of an LCM operation occurrence asynchronously - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence asynchronously - ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a cancellation of an ongoing coordination action + ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Pre-conditions: An ongoing coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action Check HTTP Response Status Code Is 202 - Check HTTP Response Header Contains Location -Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED +Request a cancellation of a finished coordination action [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... - ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a cancellation of aterminated coordination action + ... Test objective: The objective is to test the request for the cancellation of a finished coordination action + ... Pre-conditions: A finished coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence - conflict + ... Post-Conditions: none + Send Post Request for cancellation of a finished coordination action Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails - -Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately - ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable - Check HTTP Response Status Code Is 503 - Check HTTP Response Header Contains Retry-After - + -Request a Coordination of an LCM operation occurrence without authentication +Request a cancellation of an ongoing coordination action without authentication [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication - ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Test title: Reques a cancellation of an ongoing coordination action without using authentication + ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence without authorization token + Send Post Request for cancellation of an ongoing coordination action without authorization token Check HTTP Response Status Code Is 401 -Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request - ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence with malformed request - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET all Coordinations of an LCM operation occurrence - method not implemented +GET information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: GET all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - GET all Coordinations of an LCM operation occurrence + GET information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -PUT all Coordinations of an LCM operation occurrence - method not implemented +PUT information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PUT all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PUT all Coordinations of an LCM operation occurrence + PUT information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -PATCH all Coordinations of an LCM operation occurrence - method not implemented +PATCH information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PATCH all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PATCH all Coordinations of an LCM operation occurrence + PATCH information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -DELETE all Coordinations of an LCM operation occurrence - method not implemented +DELETE information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: DELETE all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - DELETE all Coordinations of an LCM operation occurrence + DELETE information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json index 9e26dfeeb..66f1d955a 100644 --- a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json @@ -1 +1,15 @@ -{} \ No newline at end of file +{ + "nsInstanceId": "string", + "nsLcmOpOccId": "string", + "lcmOperationType": "INSTANTIATE", + "coordinationActionName": "string", + "inputParams": {}, + "_links": { + "nsLcmOpOcc": { + "href": "string" + }, + "nsInstance": { + "href": "string" + } + } +} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json new file mode 100644 index 000000000..b1d13135b --- /dev/null +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json @@ -0,0 +1,15 @@ +{ + "nsInstance": "string", + "nsLcmOpOccId": "string", + "lcmOperationType": "INSTANTIATE", + "coordinationActionName": "string", + "inputParams": {}, + "_links": { + "nsLcmOpOcc": { + "href": "string" + }, + "nsInstance": { + "href": "string" + } + } +} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json index e69de29bb..76e29d5e7 100644 --- a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json +++ b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json @@ -0,0 +1,143 @@ +{ + "description": "This type represents an LCM coordination result. It shall comply with the provisions \ndefined in table 12.5.2.3-1.\n\nNOTE: How to determine the supported coordination actions is outside the scope of the \n present version of this document.\n", + "required": [ + "id", + "coordinationResult", + "nsInstanceId", + "nsLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result \nof executing an LCM coordination action. The coordination result also implies the action \nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType \nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, \n i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CACELLED" + ] + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent \nNS lifecycle operation types in NS LCM operation coordination actions. \nIt shall comply with the provisions defined in table 12.5.4.3-1.\n\n- INSTANTIATE: Represents the \"Instantiate NS\" LCM operation.\n- SCALE: Represents the \"Scale NS\" LCM operation.\n- UPDATE: Represents the \"Update NS\" LCM operation.\n- TERMINATE: Represents the \"Terminate NS\" LCM operation. \n- HEAL: Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "coordinationActionName": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "outputParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "warnings": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "nsLcmOpOcc", + "nsInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsLcmOpOcc": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file -- GitLab From 8e5856261b225260d492528f8782ae96c972285c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 10:33:28 +0200 Subject: [PATCH 093/211] renamed NSLCMCoord api folder --- SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/ApiVersion.robot | 0 .../IndividualNSLCMCoord.robot | 0 SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoord.robot | 0 .../NSLCMCoordCancelTask.robot | 0 .../NSLCMCoordKeywords.robot | 0 .../environment/variables.txt | 0 .../jsons/createLcmCoordRequest.json | 0 .../jsons/createLcmCoordRequestMalformed.json | 0 .../schemas/LcmCoord.schema.json | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/ApiVersion.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/IndividualNSLCMCoord.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoord.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoordCancelTask.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoordKeywords.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/environment/variables.txt (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/jsons/createLcmCoordRequest.json (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/jsons/createLcmCoordRequestMalformed.json (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/schemas/LcmCoord.schema.json (100%) diff --git a/SOL005/NSLCMCoord-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot similarity index 100% rename from SOL005/NSLCMCoord-API/ApiVersion.robot rename to SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot similarity index 100% rename from SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoordination-API/NSLCMCoord.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoord.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot diff --git a/SOL005/NSLCMCoord-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt similarity index 100% rename from SOL005/NSLCMCoord-API/environment/variables.txt rename to SOL005/NSLCMCoordination-API/environment/variables.txt diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json similarity index 100% rename from SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json rename to SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json similarity index 100% rename from SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json rename to SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoordination-API/schemas/LcmCoord.schema.json similarity index 100% rename from SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json rename to SOL005/NSLCMCoordination-API/schemas/LcmCoord.schema.json -- GitLab From b58eee47b0f2d8a101afd895d73b170d3249e9d1 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 10:42:11 +0200 Subject: [PATCH 094/211] updated test id and config id for NSLCMCoord --- SOL005/NSLCMCoordination-API/ApiVersion.robot | 40 +++++++++---------- ...bot => CancelCoordinationActionTask.robot} | 30 +++++++------- .../{NSLCMCoord.robot => Coordinations.robot} | 40 +++++++++---------- ...bot => IndividualCoordinationAction.robot} | 24 +++++------ indexes/sol_005_index.csv | 6 ++- 5 files changed, 72 insertions(+), 68 deletions(-) rename SOL005/NSLCMCoordination-API/{NSLCMCoordCancelTask.robot => CancelCoordinationActionTask.robot} (87%) rename SOL005/NSLCMCoordination-API/{NSLCMCoord.robot => Coordinations.robot} (89%) rename SOL005/NSLCMCoordination-API/{IndividualNSLCMCoord.robot => IndividualCoordinationAction.robot} (91%) diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot index 2f35eb345..92aae617c 100644 --- a/SOL005/NSLCMCoordination-API/ApiVersion.robot +++ b/SOL005/NSLCMCoordination-API/ApiVersion.robot @@ -9,24 +9,24 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** POST API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.1 + [Documentation] Test ID: 5.3.8.1.1 ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST API Version Check HTTP Response Status Code Is 405 GET API Version - [Documentation] Test ID: 5.3.1.10.2 + [Documentation] Test ID: 5.3.8.1.2 ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET API Version @@ -34,60 +34,60 @@ GET API Version Check HTTP Response Body Json Schema Is ApiVersionInformation PUT API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.3 + [Documentation] Test ID: 5.3.8.1.3 ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT API Version Check HTTP Response Status Code Is 405 PATCH API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.4 + [Documentation] Test ID: 5.3.8.1.4 ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH API Version Check HTTP Response Status Code Is 405 DELETE API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.5 + [Documentation] Test ID: 5.3.8.1.5 ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 POST API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.6 + [Documentation] Test ID: 5.3.8.1.6 ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST API Version Check HTTP Response Status Code Is 405 GET API Version with apiMajorVerion - [Documentation] Test ID: 5.3.1.10.7 + [Documentation] Test ID: 5.3.8.1.7 ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET API Version @@ -95,36 +95,36 @@ GET API Version with apiMajorVerion Check HTTP Response Body Json Schema Is ApiVersionInformation PUT API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.8 + [Documentation] Test ID: 5.3.8.1.8 ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT API Version Check HTTP Response Status Code Is 405 PATCH API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.9 + [Documentation] Test ID: 5.3.8.1.9 ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH API Version Check HTTP Response Status Code Is 405 DELETE API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.10 + [Documentation] Test ID: 5.3.8.1.10 ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE API Version diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot similarity index 87% rename from SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot rename to SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot index e8fd90e54..b1d24a067 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot +++ b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot @@ -9,12 +9,12 @@ Library OperatingSystem *** Test Cases *** Request a cancellation of an ongoing coordination action - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.1 ... Test title: Request a cancellation of an ongoing coordination action - ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Test objective: The objective is to test the request for the cancellation of an ongoing coordination task ... Pre-conditions: An ongoing coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of an ongoing coordination action @@ -22,12 +22,12 @@ Request a cancellation of an ongoing coordination action Request a cancellation of a finished coordination action - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.2 ... Test title: Request a cancellation of aterminated coordination action ... Test objective: The objective is to test the request for the cancellation of a finished coordination action ... Pre-conditions: A finished coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of a finished coordination action @@ -37,12 +37,12 @@ Request a cancellation of a finished coordination action Request a cancellation of an ongoing coordination action without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.3 ... Test title: Reques a cancellation of an ongoing coordination action without using authentication ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used ... Pre-conditions: none ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of an ongoing coordination action without authorization token @@ -50,12 +50,12 @@ Request a cancellation of an ongoing coordination action without authentication GET information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.4 ... Test title: GET information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET information about a cancellation of an ongoing coordination action @@ -63,12 +63,12 @@ GET information about a cancellation of an ongoing coordination action - method PUT information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.5 ... Test title: PUT information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT information about a cancellation of an ongoing coordination action @@ -76,12 +76,12 @@ PUT information about a cancellation of an ongoing coordination action - method PATCH information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.6 ... Test title: PATCH information about a cancellation of an ongoing coordination action ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH information about a cancellation of an ongoing coordination action @@ -89,12 +89,12 @@ PATCH information about a cancellation of an ongoing coordination action - metho DELETE information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.7 ... Test title: DELETE information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE information about a cancellation of an ongoing coordination action diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoord.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot similarity index 89% rename from SOL005/NSLCMCoordination-API/NSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/Coordinations.robot index 7fd7881c1..c33eeb490 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoord.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -9,12 +9,12 @@ Library OperatingSystem *** Test Cases *** Request a Coordination of an LCM operation occurrence synchronously - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.1 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO Send Post Request for coordination of an LCM operation occurrence @@ -25,12 +25,12 @@ Request a Coordination of an LCM operation occurrence synchronously Request a Coordination of an LCM operation occurrence asynchronously - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.2 ... Test title: Request a Coordination of an LCM operation occurrence asynchronously ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence @@ -39,12 +39,12 @@ Request a Coordination of an LCM operation occurrence asynchronously Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence - conflict @@ -53,12 +53,12 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable @@ -67,12 +67,12 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.5 ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence without authorization token @@ -80,12 +80,12 @@ Request a Coordination of an LCM operation occurrence without authentication Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.6 ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence with malformed request @@ -93,12 +93,12 @@ Request a Coordination of an LCM operation occurrence with malformed request Check HTTP Response Body Json Schema Is ProblemDetails GET all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.7 ... Test title: GET all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET all Coordinations of an LCM operation occurrence @@ -106,12 +106,12 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.8 ... Test title: PUT all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT all Coordinations of an LCM operation occurrence @@ -119,12 +119,12 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.9 ... Test title: PATCH all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH all Coordinations of an LCM operation occurrence @@ -132,12 +132,12 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.10 ... Test title: DELETE all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE all Coordinations of an LCM operation occurrence diff --git a/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot similarity index 91% rename from SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 8e075bd49..6892cb09f 100644 --- a/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -14,7 +14,7 @@ POST an individual coordination action of an LCM operation occurrence - method n ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST an individual Coordination of an LCM operation occurrence @@ -27,7 +27,7 @@ Get information about a finished coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about a finished coordination task @@ -41,7 +41,7 @@ Get information about an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -54,7 +54,7 @@ Get information about an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -62,12 +62,12 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.1 ... Test title: Request information related to a finished coordination task without authentication ... Test objective: The objective is to try to read an individual coordination task without using authentication ... Pre-conditions: none ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -75,12 +75,12 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.2 ... Test title: PUT an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT an individual coordination action of an LCM operation occurrence @@ -88,12 +88,12 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.3 ... Test title: PATCH an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH an individual coordination action of an LCM operation occurrence @@ -101,12 +101,12 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.4 ... Test title: DELETE an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE an individual coordination action of an LCM operation occurrence diff --git a/indexes/sol_005_index.csv b/indexes/sol_005_index.csv index 7a3c3503c..5bf0ff7cc 100644 --- a/indexes/sol_005_index.csv +++ b/indexes/sol_005_index.csv @@ -91,4 +91,8 @@ 5.3.7.8,Cancel VNF Snapshot Package Content Operation Task Endpoint, CancelVNFSnapshotPackageOperationTask.robot 5.3.7.9,Access Configuration for External Artifacts Endpoint, AccessConfigurationForExternalArtifacts.robot 5.3.7.10,Individual VNF Snapshot Package Artifact Endpoint,IndividualVNFSnapshotPackageArtifact.robot - +5.3.8,NS LCM Coordination Interface, NSLCMCoordination-API +5.3.8.1,API Version Resource Endpoint, ApiVersion.robot +5.3.8.2,Coordinations Endpoint, Coordinations.robot +5.3.8.3,Individual Coordination Action Endpoint, IndividualCoordinationAction.robot +5.3.8.4,Cancel Coordination Action Task Endpoint, CancelCoordinationActionTask.robot -- GitLab From 2756568252c12a5191f68d5efe3120e7dc4f9f98 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 12:04:55 +0200 Subject: [PATCH 095/211] NSLCMCoord test id updates --- .../IndividualCoordinationAction.robot | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 6892cb09f..2b1069a6f 100644 --- a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -9,7 +9,7 @@ Library OperatingSystem *** Test Cases *** POST an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.1 ... Test title: POST an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested @@ -22,7 +22,7 @@ POST an individual coordination action of an LCM operation occurrence - method n Get information about a finished coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.2 ... Test title: Request information related to a terminated coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated @@ -36,7 +36,7 @@ Get information about a finished coordination task Get information about an ongoing coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.3 ... Test title: Request information related to an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled @@ -49,7 +49,7 @@ Get information about an ongoing coordination task Get information about an invalid coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.4 ... Test title: Request information related to an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present @@ -62,7 +62,7 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication - [Documentation] Test ID: 5.3.8.3.1 + [Documentation] Test ID: 5.3.8.3.5 ... Test title: Request information related to a finished coordination task without authentication ... Test objective: The objective is to try to read an individual coordination task without using authentication ... Pre-conditions: none @@ -75,7 +75,7 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.2 + [Documentation] Test ID: 5.3.8.3.6 ... Test title: PUT an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested @@ -88,7 +88,7 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.3 + [Documentation] Test ID: 5.3.8.3.7 ... Test title: PATCH an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested @@ -101,7 +101,7 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.4 + [Documentation] Test ID: 5.3.8.3.8 ... Test title: DELETE an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested -- GitLab From 56f0ea5e39bc9c90014822b2cdcaacc8793b7ec2 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Thu, 21 Oct 2021 12:51:11 +0200 Subject: [PATCH 096/211] Adopting template model to coordination request --- .../NSLCMCoordination-API/Coordinations.robot | 39 +++++--------- .../NSLCMCoordKeywords.robot | 51 +++++++++++-------- .../environment/variables.txt | 20 +++++++- .../jsons/createLcmCoordRequest.json | 29 +++++------ .../jsons/createLcmCoordRequestMalformed.json | 15 ------ .../schemas/ApiVersionInformation.schema.json | 38 ++++++++++++++ 6 files changed, 114 insertions(+), 78 deletions(-) delete mode 100644 SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json create mode 100644 SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index c33eeb490..17492d85d 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -12,7 +12,7 @@ Request a Coordination of an LCM operation occurrence synchronously [Documentation] Test ID: 5.3.8.2.1 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -28,7 +28,7 @@ Request a Coordination of an LCM operation occurrence asynchronously [Documentation] Test ID: 5.3.8.2.2 ... Test title: Request a Coordination of an LCM operation occurrence asynchronously ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -42,7 +42,7 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -56,7 +56,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -70,7 +70,7 @@ Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -79,24 +79,11 @@ Request a Coordination of an LCM operation occurrence without authentication Check HTTP Response Status Code Is 401 -Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] Test ID: 5.3.8.2.6 - ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request - ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_OSS/BSS - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence with malformed request - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - GET all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.7 + [Documentation] Test ID: 5.3.8.2.6 ... Test title: GET all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -106,10 +93,10 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.8 + [Documentation] Test ID: 5.3.8.2.7 ... Test title: PUT all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -119,10 +106,10 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.9 + [Documentation] Test ID: 5.3.8.2.8 ... Test title: PATCH all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -132,10 +119,10 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.10 + [Documentation] Test ID: 5.3.8.2.9 ... Test title: DELETE all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot index c59d23f72..aa06b36ba 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot +++ b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot @@ -16,7 +16,8 @@ Send Post Request for coordination of an LCM operation occurrence Log Requesting a new coordination task for an LCM Operation occurrence Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/createLcmCoordRequest.json + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHref} nsInstanceHref=${nsInstanceHref} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${output}= Output response @@ -57,11 +58,28 @@ Check Postcondition LcmCoord Exists Send Post Request for coordination of an LCM operation occurrence - conflict - Log To be done + Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHrefNotProcessing} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable - Log To be done + Log Requesting a new coordination task for an LCM Operation occurrence when API producer + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHrefServiceUnavailable} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Send Post Request for coordination of an LCM operation occurrence without authorization token @@ -73,16 +91,7 @@ Send Post Request for coordination of an LCM operation occurrence without author ${output}= Output response Set Suite Variable ${response} ${output} -Send Post Request for coordination of an LCM operation occurrence with malformed request - Log Requesting a new coordination task for an LCM Operation occurrence - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/createLcmCoordRequestMalformed.json - Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - + GET all Coordinations of an LCM operation occurrence Log Requesting the retrieve of all coordination tasks Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -190,11 +199,11 @@ DELETE an individual coordination action of an LCM operation occurrence Send Post Request for cancellation of an ongoing coordination action - Log Requesting the cancellatio9n of an ongoing coordination task + Log Requesting the cancellation of an ongoing coordination task Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -203,7 +212,7 @@ Send Post Request for cancellation of a finished coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${finishedCoordinationActionId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -212,7 +221,7 @@ Send Post Request for cancellation of an ongoing coordination action without aut Log Requesting the cancellation of an ongoing coordination task without authorization Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -221,7 +230,7 @@ GET information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -230,7 +239,7 @@ PUT information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -239,7 +248,7 @@ PATCH information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -248,6 +257,6 @@ DELETE information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt index 17b0218da..088646c95 100644 --- a/SOL005/NSLCMCoordination-API/environment/variables.txt +++ b/SOL005/NSLCMCoordination-API/environment/variables.txt @@ -12,9 +12,27 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} lcmcoord - ${response} httpresponse ${coordinationId} 297b3460-dfbe-4c7f-80e6-7e7df8e11031 ${ongoingCoordinationId} afa7e711-dd83-4605-b426-57da720df71b ${erroneousCoordinationId} ERRONEOUS_COORDINATION_ID +${finishedCoordinationActionId} dfbe80e6-4605-dd83-b426-57da720df82c + +### Template data for coordinationRequest +${nsInstanceId} +${nsLcmOpOccId} +${lcmOperationType} +${coordinationActionName} +${nsLcmOpOccHref} +${nsInstanceHref} + + +### Template data for coordinationRequest for LCMOpp not in PROCESSING state +${nsLcmOpOccIdNotProcessing} +${nsLcmOpOccHrefNotProcessing} + + +### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request +${nsLcmOpOccIdServiceUnavailable} +${nsLcmOpOccHrefServiceUnavailable} diff --git a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json index 66f1d955a..e7753d557 100644 --- a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json +++ b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json @@ -1,15 +1,14 @@ -{ - "nsInstanceId": "string", - "nsLcmOpOccId": "string", - "lcmOperationType": "INSTANTIATE", - "coordinationActionName": "string", - "inputParams": {}, - "_links": { - "nsLcmOpOcc": { - "href": "string" - }, - "nsInstance": { - "href": "string" - } - } -} \ No newline at end of file +{{ + "nsInstanceId": "{nsInstanceId}", + "nsLcmOpOccId": "{nsLcmOpOccId}", + "lcmOperationType": "{lcmOperationType}", + "coordinationActionName": "{coordinationActionName}", + "_links": {{ + "nsLcmOpOcc": {{ + "href": "{nsLcmOpOccHref}" + }}, + "nsInstance": {{ + "href": "{nsInstanceHref}" + }} + }} +}} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json deleted file mode 100644 index b1d13135b..000000000 --- a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nsInstance": "string", - "nsLcmOpOccId": "string", - "lcmOperationType": "INSTANTIATE", - "coordinationActionName": "string", - "inputParams": {}, - "_links": { - "nsLcmOpOcc": { - "href": "string" - }, - "nsInstance": { - "href": "string" - } - } -} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 000000000..42a4c8a3e --- /dev/null +++ b/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,38 @@ +{ + "description": "This type represents API version information.\n", + "type": "object", + "required": [ + "uriPrefix", + "apiVersions" + ], + "properties": { + "uriPrefix": { + "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", + "type": "string" + }, + "apiVersions": { + "description": "Version(s) supported for the API signalled by the uriPrefix attribute.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1.\n", + "type": "string" + }, + "isDeprecated": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "retirementDate": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + } + } +} \ No newline at end of file -- GitLab From fce36d78b2f1d8739bffe97b080817c36ca855a0 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 22 Oct 2021 17:58:40 +0200 Subject: [PATCH 097/211] Fixing test case naming and titles --- .../CancelCoordinationActionTask.robot | 15 +++++++-------- .../NSLCMCoordination-API/Coordinations.robot | 18 +++++++++--------- .../IndividualCoordinationAction.robot | 16 ++++++++-------- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot index b1d24a067..ed0759914 100644 --- a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot @@ -23,7 +23,7 @@ Request a cancellation of an ongoing coordination action Request a cancellation of a finished coordination action [Documentation] Test ID: 5.3.8.4.2 - ... Test title: Request a cancellation of aterminated coordination action + ... Test title: Request a cancellation of a finished coordination action ... Test objective: The objective is to test the request for the cancellation of a finished coordination action ... Pre-conditions: A finished coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -33,12 +33,11 @@ Request a cancellation of a finished coordination action Send Post Request for cancellation of a finished coordination action Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails - - + Request a cancellation of an ongoing coordination action without authentication [Documentation] Test ID: 5.3.8.4.3 - ... Test title: Reques a cancellation of an ongoing coordination action without using authentication + ... Test title: Request a cancellation of an ongoing coordination action without authentication ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used ... Pre-conditions: none ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -51,7 +50,7 @@ Request a cancellation of an ongoing coordination action without authentication GET information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.4 - ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test title: GET information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -64,7 +63,7 @@ GET information about a cancellation of an ongoing coordination action - method PUT information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.5 - ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test title: PUT information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -77,7 +76,7 @@ PUT information about a cancellation of an ongoing coordination action - method PATCH information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.6 - ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test title: PATCH information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -90,7 +89,7 @@ PATCH information about a cancellation of an ongoing coordination action - metho DELETE information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.7 - ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test title: DELETE information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 17492d85d..9c33f3c21 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -38,9 +38,9 @@ Request a Coordination of an LCM operation occurrence asynchronously Check HTTP Response Header Contains Location -Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED +Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -52,9 +52,9 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET Check HTTP Response Body Json Schema Is ProblemDetails -Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable [Documentation] Test ID: 5.3.8.2.4 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... Test title: Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -68,7 +68,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 - ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test title: Request a Coordination of an LCM operation occurrence without authentication ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -81,7 +81,7 @@ Request a Coordination of an LCM operation occurrence without authentication GET all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.6 - ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test title: GET all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -94,7 +94,7 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.7 - ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test title: PUT all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -107,7 +107,7 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.8 - ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test title: PATCH all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -120,7 +120,7 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.9 - ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test title: DELETE all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 diff --git a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 2b1069a6f..61eba4383 100644 --- a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -10,7 +10,7 @@ Library OperatingSystem *** Test Cases *** POST an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.1 - ... Test title: POST an individual coordination action of an LCM operation occurrence + ... Test title: POST an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -23,7 +23,7 @@ POST an individual coordination action of an LCM operation occurrence - method n Get information about a finished coordination task [Documentation] Test ID: 5.3.8.3.2 - ... Test title: Request information related to a terminated coordination task + ... Test title: Get information about a finished coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -37,7 +37,7 @@ Get information about a finished coordination task Get information about an ongoing coordination task [Documentation] Test ID: 5.3.8.3.3 - ... Test title: Request information related to an ongoing coordination task + ... Test title: Get information about an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -50,7 +50,7 @@ Get information about an ongoing coordination task Get information about an invalid coordination task [Documentation] Test ID: 5.3.8.3.4 - ... Test title: Request information related to an invalid coordination task + ... Test title: Get information about an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -63,7 +63,7 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication [Documentation] Test ID: 5.3.8.3.5 - ... Test title: Request information related to a finished coordination task without authentication + ... Test title: Get information about a finished coordination task without authentication ... Test objective: The objective is to try to read an individual coordination task without using authentication ... Pre-conditions: none ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -76,7 +76,7 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.6 - ... Test title: PUT an individual coordination action of an LCM operation occurrence + ... Test title: PUT an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -89,7 +89,7 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.7 - ... Test title: PATCH an individual coordination action of an LCM operation occurrence + ... Test title: PATCH an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -102,7 +102,7 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.8 - ... Test title: DELETE an individual coordination action of an LCM operation occurrence + ... Test title: DELETE an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 -- GitLab From 10871d0d93594a0d200279fedb662f3a6c591044 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 22 Oct 2021 18:13:27 +0200 Subject: [PATCH 098/211] Editorial fix --- SOL005/NSLCMCoordination-API/Coordinations.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 9c33f3c21..47cc92ebd 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -41,7 +41,7 @@ Request a Coordination of an LCM operation occurrence asynchronously Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT - ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS -- GitLab From a3a8f86a528b08bf564e590586c7e8affe31b62e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 09:52:40 +0200 Subject: [PATCH 099/211] Editorial fixes --- SOL005/NSLCMCoordination-API/Coordinations.robot | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 47cc92ebd..ce1974636 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -55,8 +55,8 @@ Request a Coordination of an LCM operation occurrence - CONFLICT Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable - ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately teh request, but can perform it sometime in the future. - ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot + ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately the request, but can perform it sometime in the future. + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -69,7 +69,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 ... Test title: Request a Coordination of an LCM operation occurrence without authentication - ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS -- GitLab From 5b1389cdc29e53480bb71dd03a2388ed1a8faf2e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 12:37:01 +0200 Subject: [PATCH 100/211] Added 403 forbidden testcase --- SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot | 11 +++++++++++ .../NSLCMCoordination-API/environment/variables.txt | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot index aa06b36ba..1fbd51d7c 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot +++ b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot @@ -57,6 +57,17 @@ Check Postcondition LcmCoord Exists Check HTTP Response Body Json Schema Is LcmCoord +Send Post Request for coordination of an LCM operation occurrence - forbidden + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHref} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${INSUFFICIENT_AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Send Post Request for coordination of an LCM operation occurrence - conflict Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL005/NSLCMCoordination-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt index 088646c95..ef38b0b48 100644 --- a/SOL005/NSLCMCoordination-API/environment/variables.txt +++ b/SOL005/NSLCMCoordination-API/environment/variables.txt @@ -4,7 +4,8 @@ ${NFVO_PORT} 8081 # Listening port of the NFVO ${NFVO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${INSUFFICIENT_AUTHORIZATION_TOKEN} Bearer INSUFFICIENT_AUTHORIZATION_TOKEN +#${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${NFVO_AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json -- GitLab From 2af2a7c16d8e3497fb48cde844a3f23d2c421d2a Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 12:49:56 +0200 Subject: [PATCH 101/211] Added 403 forbidden testcase --- SOL005/NSLCMCoordination-API/Coordinations.robot | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index ce1974636..fa077cba6 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -37,7 +37,19 @@ Request a Coordination of an LCM operation occurrence asynchronously Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location - +Request a Coordination of an LCM operation occurrence - FORBIDDEN + [Documentation] Test ID: 5.3.8.2.3 + ... Test title: Request a Coordination of an LCM operation occurrence - FORBIDDEN + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING". The request is performed by a user that has not the grant to run this operation + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_OSS/BSS + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - forbidden + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT -- GitLab From 98bf34f734a40ae53dda2edd9b9f2415846e0565 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:28:42 +0200 Subject: [PATCH 102/211] updated SOL003 VNF Lifecycle Operation Granting refs to v3.5.1 --- .../VNFLifecycleOperationGranting-API/Grants.robot | 14 +++++++------- .../IndividualGrant.robot | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index d8636fb18..301b13039 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -22,7 +22,7 @@ Requests a grant for a particular VNF lifecycle operation - Synchronous mode ... Test title: Requests a grant for a particular VNF lifecycle operation - Synchronous mode ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO can decide immediately what to respond to a grant request ... Post-Conditions: The grant information is available to the VNFM. @@ -36,7 +36,7 @@ Requests a grant for a particular VNF lifecycle operation - Asynchronous mode ... Test title: Requests a grant for a particular VNF lifecycle operation - Asynchronous mode ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO can not decide immediately what to respond to a grant request ... Post-Conditions: The grant information is available to the VNFM. @@ -51,7 +51,7 @@ Requests a grant for a particular VNF lifecycle operation - Forbidden ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and the grant is rejected ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Grants - Method not implemented ... Test title: GET Grants - Method not implemented ... Test objective: The objective is to test that GET method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PUT Grants - Method not implemented ... Test title: PUT Grants - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ PATCH Grants - Method not implemented ... Test title: PATCH Grants - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ DELETE Grants - Method not implemented ... Test title: DELETE Grants - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: resources are not deleted diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index cf4e7d026..6f3309d4b 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -18,7 +18,7 @@ POST Individual Grant - Method not implemented ... Test title: POST Individual Grant - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET an individual grant - Successful ... Test title: GET an individual grant - Successful ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation. ... Pre-conditions: The grant information is available to the NFVO - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET an individual grant - Process ongoing ... Test title: GET an individual grant - Process ongoing ... Test objective: The objective is to retrieve a grant for a particular VNF lifecycle operation when process is ongoing and no grant is available yet. ... Pre-conditions: The process of creating the grant is ongoing, no grant is available yet. - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ GET an individual grant - grant rejected ... Test title: GET an individual grant - grant rejected ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation but error returned because grant has been rejected. ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ PUT an individual grant - Method not implemented ... Test title: PUT an individual grant - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ PATCH an individual grant - Method not implemented ... Test title: PATCH an individual grant - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ DELETE an individual grant - Method not implemented ... Test title: DELETE an individual grant - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From a2d9ec6da56550bb3e132c1091a43770cc0622fc Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:32:42 +0200 Subject: [PATCH 103/211] updated SOL003 VNF Lifecycle Operation Granting schemas to v3.5.1 --- .../schemas/grant.schema.json | 240 ++++++------------ 1 file changed, 80 insertions(+), 160 deletions(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/schemas/grant.schema.json b/SOL003/VNFLifecycleOperationGranting-API/schemas/grant.schema.json index ac4a3cd6c..47983d9d3 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/schemas/grant.schema.json +++ b/SOL003/VNFLifecycleOperationGranting-API/schemas/grant.schema.json @@ -1,12 +1,7 @@ { - "description": "This type represents a grant.\n", + "description": "This type represents a grant.\nNOTE 1: This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present \n release, it is recommended in the present document that the number \n of entries in the \"vims\" attribute in the Grant is not greater than 1.\nNOTE 2: Void. NOTE 3: The Grant response allows the NFVO to pass to the VNFM VIM assets related to the VNF package that is identified by the vnfdId attribute \n in the corresponding Grant request. The NFVO may send in each Grant \n response the full set of VIM assets related to the VNF package defined \n by the vnfdId in the related Grant request, but shall send this information \n if the vnfdId in the related Grant request differs from the vnfdId passed \n in the previous Grant request, or if the Grant response is related to an \n InstantiateVnf operation. The set of VIM assets shall not change between \n subsequent Grant responses if the vnfdId has not changed. During each LCM \n operation occurrence, the VIM assets that relate to the VNF package identified \n by the current value of the vnfdId attribute in the \"VnfInstance\" structure \n shall be used by the VNFM for newly created resources. If the VNF package \n identifier of the VNF instance has been updated, VIM assets that relate to \n the previously-used VNF package(s), and that were communicated in previous \n Grant responses, apply to existing resources.\nNOTE 4: The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that \n these networks have certain properties such as security or acceleration features, \n or to address particular network topologies. The present document assumes that \n externally-managed internal VLs are managed by the NFVO and created towards the VIM.\nNOTE 5: For any VNF lifecycle management operation request that allows to pass \"extVirtualLinks\" and/or \"extManagedVirtualLinks\" parameters, such as InstantiateVnf, ChangeVnfFlavour, \n ChangeExtVnfConnectivity or ChangeCurrentVnfPackage, the NFVO may provide the \"extVirtualLinks\" \n and/or \"extManagedVirtualLinks\" attributes in the Grant to override the values passed \n in these parameters previously in the associated VNF lifecycle management request, if \n the lifecycle management request has originated from the NFVO itself. The NFVO shall \n not provide the \"extVirtualLinks\" and/or \"extManagedVirtualLinks\" attributes in the \n Grant otherwise.\nNOTE 6: The NFVO shall set the value of the attribute by copying the value from the associated GrantRequest.\nNOTE 7: In case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extVirtualLinks\" attribute, this attribute shall be set by the NFVO. \n Further in case of granting an InstantiateVnf request that has originated from the NFVO \n and that did not contain the \"extManagedVirtualLinks\" attribute, this attribute shall be \n set by the NFVO if there is the need to provide information about externally-managed virtual \n links.\n", "type": "object", - "required": [ - "id", - "vnfInstanceId", - "vnfLcmOpOccId", - "_links" - ], + "required": ["id", "vnfInstanceId", "vnfLcmOpOccId", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -21,14 +16,12 @@ "type": "string" }, "vimConnectionInfo": { - "description": "Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the \" vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of vimConnectionInfo entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the \"vims\" attribute in the Grant is not greater than 1.\n", + "description": "Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources and provides parameters of these VIM connections.\nThe VNFM shall update the \"vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute.\nThis attribute is not intended for the modification of VimConnectionInfo entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used.\nThis attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. See note 1.\n", "type": "object", "additionalProperties": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM.\n", "type": "object", - "required": [ - "vimType" - ], + "required": ["vimType"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -59,10 +52,7 @@ "items": { "description": "This type provides information regarding a resource zone.\n", "type": "object", - "required": [ - "id", - "zoneId" - ], + "required": ["id", "zoneId"], "properties": { "id": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -89,9 +79,7 @@ "items": { "description": "This type provides information regarding a resource zone group. A resource zone group is a group of one or more related resource zones which can be used in resource placement constraints. To fulfil such constraint, the NFVO may decide to place a resource into any zone that belongs to a particular group. NOTE: A resource zone group can be used to support overflow from one resource zone into another, in case a particular deployment supports only non-elastic resource zones.\n", "type": "object", - "required": [ - "zoneId" - ], + "required": ["zoneId"], "properties": { "zoneId": { "description": "References of identifiers of \"ZoneInfo\" structures, each of which provides information about a resource zone that belongs to this group.\n", @@ -105,14 +93,12 @@ } }, "addResources": { - "description": "List of resources that are approved to be added, with one entry per resource. Shall be set when resources are approved to be added.\n", + "description": "List of resources that are approved to be added, with one entry per resource. Shall be set when resources are approved to be added and shall contain the same set of resources requested to be added in the related GrantRequest.\n", "type": "array", "items": { "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", "type": "object", - "required": [ - "resourceDefinitionId" - ], + "required": ["resourceDefinitionId"], "properties": { "resourceDefinitionId": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -142,14 +128,12 @@ } }, "tempResources": { - "description": "List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource. Shall be set when resources are approved to be temporarily instantiated.\n", + "description": "List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource. Shall be set when resources are approved to be temporarily instantiated and shall contain the same set of resources requested to be temporarily instantiated in the related GrantRequest.\n", "type": "array", "items": { "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", "type": "object", - "required": [ - "resourceDefinitionId" - ], + "required": ["resourceDefinitionId"], "properties": { "resourceDefinitionId": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -179,14 +163,12 @@ } }, "removeResources": { - "description": "List of resources that are approved to be removed, with one entry per resource. Shall be set when resources are approved to be removed.\n", + "description": "List of resources that are approved to be removed, with one entry per resource. Shall be set when resources are approved to be removed and shall contain the same set of resources requested to be removed in the related GrantRequest.\n", "type": "array", "items": { "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", "type": "object", - "required": [ - "resourceDefinitionId" - ], + "required": ["resourceDefinitionId"], "properties": { "resourceDefinitionId": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -216,14 +198,12 @@ } }, "updateResources": { - "description": "List of resources that are approved to be modified, with one entry per resource. Shall be set when resources are approved to be updated.\n", + "description": "List of resources that are approved to be modified, with one entry per resource. Shall be set when resources are approved to be updated and shall contain the same set of resources requested to be updated in the related GrantRequest.\n", "type": "array", "items": { "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", "type": "object", - "required": [ - "resourceDefinitionId" - ], + "required": ["resourceDefinitionId"], "properties": { "resourceDefinitionId": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -253,7 +233,7 @@ } }, "vimAssets": { - "description": "Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. The Grant response allows the NFVO to pass to the VNFM VIM assets related to the VNF package that is identified by the vnfdId attribute in the corresponding Grant request. The NFVO may send in each Grant response the full set of VIM assets related to the VNF package defined by the vnfdId in the related Grant request, but shall send this information if the vnfdId in the related Grant request differs from the vnfdId passed in the previous Grant request, or if the Grant response is related to an InstantiateVnf operation. The set of VIM assets shall not change between subsequent Grant responses if the vnfdId has not changed. During each LCM operation occurrence, the VIM assets that relate to the VNF package identified by the current value of the vnfdId attribute in the “VnfInstance” structure shall be used by the VNFM for newly created resources. If the VNF package identifier of the VNF instance has been updated, VIM assets that relate to the previously-used VNF package(s), and that were communicated in previous Grant responses, apply to existing resources.\n", + "description": "Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. See note 3.\n", "type": "object", "properties": { "computeResourceFlavours": { @@ -262,10 +242,7 @@ "items": { "description": "If the VIM requires the use of virtual compute resource flavours during compute resource instantiation, it is assumed that such flavours are selected or created by the NFVO based on the information in the virtual compute descriptor defined in the VNFD. This type defines the mapping between a virtual compute descriptor in the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM.\n", "type": "object", - "required": [ - "vnfdVirtualComputeDescId", - "vimFlavourId" - ], + "required": ["vnfdVirtualComputeDescId", "vimFlavourId"], "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", @@ -292,10 +269,7 @@ "items": { "description": "This type contains a mapping between a software image definition the VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation.\n", "type": "object", - "required": [ - "vnfdSoftwareImageId", - "vimSoftwareImageId" - ], + "required": ["vnfdSoftwareImageId", "vimSoftwareImageId"], "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", @@ -322,11 +296,7 @@ "items": { "description": "This type contains a mapping between a snapshot resource definition related to a VNF snapshot and the corresponding resource managed by the NFVO in the VIM which is needed during the revert to VNF snapshot operation.\n", "type": "object", - "required": [ - "vnfSnapshotId", - "vnfcSnapshotId", - "vimSnapshotResourceId" - ], + "required": ["vnfSnapshotId", "vnfcSnapshotId", "vimSnapshotResourceId"], "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", @@ -357,16 +327,12 @@ } }, "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. In case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extVirtualLinks\" attribute, this attribute shall be set by the NFVO. Further in case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extManagedVirtualLinks\" attribute, this attribute shall be set by the NFVO if there is the need to provide information about externally-managed virtual links.\nIf this attribute is present , it need not contain those entries that are unchanged compared to the entries that were passed in the LCM operation which is related to this granting exchange. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. In case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extVirtualLinks\" attribute, this attribute shall be set by the NFVO. Further in case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extManagedVirtualLinks\" attribute, this attribute shall be set by the NFVO if there is the need to provide information about externally-managed virtual links.\n", + "description": "Information about external VLs to connect the VNF to. See notes 5 and 7. If this attribute is present according to note 5 or note 7, it need not contain those entries that are unchanged compared to the entries that were passed in the LCM operation which is related to this granting exchange.\n", "type": "array", "items": { - "description": "This type represents an external VL.\n", + "description": "This type represents an external VL. * NOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n 1\tFor a VIP CP directly exposed as extCP:\n 1.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2\tA dedicated IP addresss is allocated as VIP address, but the NFVO indicates that no port\n is needed (createExtLinkPort in VnfExtCpconfig set to false).\n 2\tFor a VIP CP exposed as extCP via a floating IP address:\n 2.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC\n CP associated to the VIP CP is also exposed via a floating IP addresss.\n", "type": "object", - "required": [ - "id", - "resourceId", - "extCps" - ], + "required": ["id", "resourceId", "extCps"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -385,35 +351,27 @@ "type": "string" }, "extCps": { - "description": "External CPs of the VNF to be connected to this external VL.\n", + "description": "External CPs of the VNF to be connected to this external VL. Entries in the list of external CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part of a request or response that modifies the external connectivity.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", - "required": [ - "cpdId" - ], + "required": ["cpdId"], "properties": { "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], "type": "object", "properties": { "parentCpConfigId": { @@ -424,82 +382,67 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["ipAddressRange"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -508,16 +451,13 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -550,24 +490,19 @@ } }, "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", + "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. See note.\n", "type": "array", "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", + "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL. * NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -588,6 +523,10 @@ "type": "string" } } + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } @@ -596,15 +535,11 @@ } }, "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by other entities than the VNFM. The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. In case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extVirtualLinks\" attribute, this attribute shall be set by the NFVO. Further in case of granting an InstantiateVnf request that has originated from the NFVO and that did not contain the \"extManagedVirtualLinks\" attribute, this attribute shall be set by the NFVO if there is the need to provide information about externally-managed virtual links.\n", + "description": "Information about internal VLs that are managed by other entities than the VNFM. See notes 4, 5 and 7.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "resourceId" - ], + "required": ["id", "vnfVirtualLinkDescId", "resourceId"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -632,19 +567,14 @@ "items": { "description": "This type represents an externally provided link port to be used to connect a VNFC connection point to an exernally managed VL.\n", "type": "object", - "required": [ - "vnfLinkPortId", - "resourceHandle" - ], + "required": ["vnfLinkPortId", "resourceHandle"], "properties": { "vnfLinkPortId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -683,18 +613,12 @@ "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self", - "vnfLcmOpOcc", - "vnfInstance" - ], + "required": ["self", "vnfLcmOpOcc", "vnfInstance"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -705,9 +629,7 @@ "vnfLcmOpOcc": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -718,9 +640,7 @@ "vnfInstance": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", -- GitLab From fb5ecaa39802cc3e4ee5724a82c72fa2cecc0d8d Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:16:53 +0200 Subject: [PATCH 104/211] Removing unused variables --- .../environment/variables.txt | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt index 61ccb5695..6f09a3ad3 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt +++ b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt @@ -20,29 +20,10 @@ ${response} {} ${VNFM_HOST} localhost # Hostname of the VNFM ${VNFM_PORT} 8080 # Listening port of the VNFM ${VNFM_SCHEMA} https -${CONTENT_TYPE_PATCH} application/merge-patch+json -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX -${vnfInstanceDescription} description vnf -${vnfInstanceDescription_Update} Updated description vnf -${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT -${ACCEPT_PLAIN} text/plain -${ACCEPT_ZIP} application/zip -${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c -${ARTIFACT_TYPE} application/octet-stream -${ARTIFACT_ID} artifactId -${WRONG_ACCEPT} application/json - -${sub_filter} filter -${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${notification_ep} notification -${VrQuotaAvailNotification} {} - ${vnfInstanceId} myVnfInstanceId ${vnfLcmOpOccId} myLcmOccId -${vnfdId} myVnF -${flavourId} string ${descriptorType} SOL001 ${check_descriptors} 1 @@ -52,8 +33,6 @@ ${tosca_type_virtual_link} tosca.nodes.nfv.VnfVirtualLink ${tosca_type_VDU_cp} tosca.nodes.nfv.VduCp ${VDU_IDs} -${virtualLink_IDs} -${CP_IDs} ${externalCP_IDs} ${Compute_IDs} -- GitLab From 109819827ffaa8bd82f2bb65fcc1ce35c5159216 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:34:03 +0200 Subject: [PATCH 105/211] updated SOL003 VNF Package Management refs to v3.5.1 --- .../IndividualSubscription.robot | 14 ++-- .../IndividualVNFPackage.robot | 24 +++---- .../IndividualVNFPackageArtifacts.robot | 56 ++++++++-------- .../ManifestInIndividualVNFPackage.robot | 32 +++++----- .../NotificationEndpoint.robot | 4 +- .../Notifications.robot | 6 +- .../Subscriptions.robot | 28 ++++---- .../VNFDInIndividualVNFPackage.robot | 44 ++++++------- .../VNFPackageArtifacts.robot | 64 +++++++++---------- .../VNFPackages.robot | 4 +- 10 files changed, 138 insertions(+), 138 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot index 7d2d35ae0..f8d9ae71c 100644 --- a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Subscription ... Test title: GET Individual VNF Package Subscription ... Test objective: The objective is to test the retrieval of individual VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package Subscription with invalid resource identifier ... Test title: GET Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Package Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST Individual VNF Package Subscription - Method not implemented ... Test title: POST Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Package Subscription ... Pre-conditions: none - ... Reference: Clause 10.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Individual VNF Package Subscription - Method not implemented ... Test title: PUT Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Individual VNF Package Subscription - Method not implemented ... Test title: PATCH Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Individual VNF Package Subscription ... Test title: DELETE Individual VNF Package Subscription ... Test objective: The objective is to test the deletion of an individual VNF package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not available anymore in the NFVO diff --git a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot index fa6426ede..35c484a7b 100644 --- a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot +++ b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot @@ -12,7 +12,7 @@ GET Individual VNF Package ... Test title: GET Individual VNF Package ... Test objective: The objective is to test the retrieval of an individual VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package with invalid resource identifier ... Test title: GET Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Individual VNF Package - Method not implemented ... Test title: POST Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Individual VNF Package - Method not implemented ... Test title: PUT Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Individual VNF Package - Method not implemented ... Test title: PATCH Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Individual VNF Package - Method not implemented ... Test title: DELETE Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ GET Individual OnBoarded VNF Package ... Test title: GET Individual OnBoarded VNF Package ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET Individual OnBoarded VNF Package with invalid resource identifier ... Test title: GET Individual OnBoarded VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ POST Individual OnBoarded VNF Package - Method not implemented ... Test title: POST Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new OnBoarded VNF Package ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PUT Individual OnBoarded VNF Package - Method not implemented ... Test title: PUT Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ PATCH Individual OnBoarded VNF Package - Method not implemented ... Test title: PATCH Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ DELETE Individual OnBoarded VNF Package - Method not implemented ... Test title: DELETE Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot b/SOL003/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot index e87ea152f..8ca3519fa 100644 --- a/SOL003/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot +++ b/SOL003/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot @@ -11,7 +11,7 @@ GET Individual VNF Package Artifact ... Test title: GET Individual VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual VNF Package Artifact in octet stream format ... Test title: GET Individual VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -36,7 +36,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -62,7 +62,7 @@ GET Individual VNF Package Artifact with invalid Range Request ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -74,7 +74,7 @@ GET Individual VNF Package Artifact with invalid resource identifier ... Test title: GET Individual VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET Individual VNF Package Artifact with conflict due to onboarding state ... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Individual VNF Package Artifact - Method not implemented ... Test title: POST Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PUT Individual VNF Package Artifact - Method not implemented ... Test title: PUT Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ PATCH Individual VNF Package Artifact - Method not implemented ... Test title: PATCH Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ DELETE Individual VNF Package Artifact - Method not implemented ... Test title: DELETE Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ GET Individual OnBoarded VNF Package Artifact ... Test title: GET Individual OnBoarded VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -160,7 +160,7 @@ GET Individual OnBoarded VNF Package Artifact in octet stream format ... Test title: GET Individual OnBoarded VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -173,7 +173,7 @@ GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO suppor ... Test title: GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -187,7 +187,7 @@ GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO not su ... Test title: GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -199,7 +199,7 @@ GET Individual OnBoarded VNF Package Artifact with invalid Range Request ... Test title: GET Individual OnBoarded VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -211,7 +211,7 @@ GET Individual OnBoarded VNF Package Artifact with invalid resource identifier ... Test title: GET Individual OnBoarded VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -224,7 +224,7 @@ GET Individual OnBoarded VNF Package Artifact with conflict due to onboarding st ... Test title: GET Individual OnBoarded VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -237,7 +237,7 @@ POST Individual OnBoarded VNF Package Artifact - Method not implemented ... Test title: POST Individual OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -249,7 +249,7 @@ PUT Individual OnBoarded VNF Package Artifact - Method not implemented ... Test title: PUT Individual OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -261,7 +261,7 @@ PATCH Individual OnBoarded VNF Package Artifact - Method not implemented ... Test title: PATCH Individual OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -273,7 +273,7 @@ DELETE Individual OnBoarded VNF Package Artifact - Method not implemented ... Test title: DELETE Individual OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -285,7 +285,7 @@ GET Individual VNF Package Artifact with security information ... Test title: GET Individual VNF Package Artifact with security information ... Test objective: The objective is to test the retrieval of an individual VNF package artifact shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -298,7 +298,7 @@ GET Individual OnBoarded VNF Package Artifact with security information ... Test title: GET Individual OnBoarded VNF Package Artifact with security information ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -311,7 +311,7 @@ GET Individual VNF Package Artifact with encrypted artifact ... Test title: GET Individual VNF Package Artifact with encrypted artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact shall include an encrypted artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -324,7 +324,7 @@ GET Individual OnBoarded VNF Package Artifact with encrypted artifact ... Test title: GET Individual OnBoarded VNF Package Artifact with encrypted artifact ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact shall include an encrypted artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -337,7 +337,7 @@ GET Individual VNF Package Artifact - Not Acceptable ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -350,7 +350,7 @@ GET Individual OnBoarded VNF Package Artifact - Not Acceptable ... Test title: GET Individual OnBoarded VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot index 44224b1f3..157b560fe 100644 --- a/SOL003/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot +++ b/SOL003/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot @@ -11,7 +11,7 @@ Get Manifest in Individual VNF Package ... Test title: Get Manifest in Individual VNF Package ... Test objective: The objective is to test that the Get request read the content of manifest within a NVF Package and perform a validation that returned content is in plain text format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Manifest in Individual VNF Package with security information ... Test title: Get Manifest in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of manifest for an individual VNF package shall also security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get Manifest in Individual VNF Package - Not acceptable ... Test title: Get Manifest in Individual VNF Package - Not acceptable ... Test objective: The objective is to test that retriveal of the of manifest for an individual VNF package fails when request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get Manifest in Individual VNF Package - Conflict ... Test title: Get Manifest in Individual VNF Package - Conflict ... Test objective: The objective is to test that the retrieval of the manifest for an individual VNF package fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Manifest in Individual VNF Package - Method not implemented ... Test title: POST Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new resource ... Pre-conditions: none - ... Reference: Clause 10.4.4a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Manifest in Individual VNF Package - Method not implemented ... Test title: PUT Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Manifest in Individual VNF Package - Method not implemented ... Test title: PATCH Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ DELETE Manifest in Individual VNF Package - Method not implemented ... Test title: DELETE Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Resource is not deleted by the failed operation @@ -112,7 +112,7 @@ Get Manifest in Individual OnBoarded VNF Package ... Test title: Get Manifest in Individual OnBoarded VNF Package ... Test objective: The objective is to test that the Get request read the content of manifest within a OnBoarded NVF Package and perform a validation that returned content is in plain text format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -125,7 +125,7 @@ Get Manifest in Individual OnBoarded VNF Package with security information ... Test title: Get Manifest in Individual OnBoarded VNF Package with security information ... Test objective: The objective is to test the retrieval of manifest for an individual OnBoarded VNF package shall also security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -138,7 +138,7 @@ Get Manifest in Individual OnBoarded VNF Package - Not acceptable ... Test title: Get Manifest in Individual OnBoarded VNF Package - Not acceptable ... Test objective: The objective is to test that retriveal of the of manifest for an individual OnBoarded VNF package fails when request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ Get Manifest in Individual OnBoarded VNF Package - Conflict ... Test title: Get Manifest in Individual OnBoarded VNF Package - Conflict ... Test objective: The objective is to test that the retrieval of the manifest for an individual OnBoarded VNF package fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ POST Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test title: POST Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new resource ... Pre-conditions: none - ... Reference: Clause 10.4.4a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -176,7 +176,7 @@ PUT Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test title: PUT Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -188,7 +188,7 @@ PATCH Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test title: PATCH Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -200,7 +200,7 @@ DELETE Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test title: DELETE Manifest in Individual OnBoarded VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete resource ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4a.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4a.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Resource is not deleted by the failed operation diff --git a/SOL003/VNFPackageManagement-API/NotificationEndpoint.robot b/SOL003/VNFPackageManagement-API/NotificationEndpoint.robot index 4fb996f7c..d9325b9a9 100644 --- a/SOL003/VNFPackageManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFPackageManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test that the POST request triggers VNF Package Onboarding notification. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Package Change Notification ... Test title: VNF Package Change Notification ... Test objective: The objective is to test that the POST request triggers VNF Package Change notification. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/Notifications.robot b/SOL003/VNFPackageManagement-API/Notifications.robot index e5e84f2ff..d08df4986 100644 --- a/SOL003/VNFPackageManagement-API/Notifications.robot +++ b/SOL003/VNFPackageManagement-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test the dispatch of VNF Package Onboarding notification when the VNF package onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Package Operational State Change Notification ... Test title: VNF Package Operational State Change Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package operational state is modified, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ VNF Package Deletion Notification ... Test title: VNF Package Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package is deleted on the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/Subscriptions.robot b/SOL003/VNFPackageManagement-API/Subscriptions.robot index df84485be..9ec3b45f4 100644 --- a/SOL003/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL003/VNFPackageManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Get All VNF Package Subscriptions ... Test title: GET all VNF Package Subscriptions ... Test objective: The objective is to test the retrieval of all VNF package subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Get VNF Package Subscriptions with attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF package subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Get VNF Package Subscriptions with invalid attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Package Subscription with invalid resource endpoint ... Test title: GET VNF Package Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF package subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF Package subscription ... Test title: Create new VNF Package subscription ... Test objective: The objective is to test the creation of a new VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscription is successfully set and it matches the issued subscription @@ -86,7 +86,7 @@ Create duplicated VNF Package subscription with NFVO not creating duplicated sub ... Test title: Create duplicated VNF Package subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF package subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF package subscription returned is available in the NFVO @@ -102,7 +102,7 @@ Create duplicated VNF Package subscription with NFVO creating duplicated subscri ... Test title: Create duplicated VNF Package subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF package subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF package subscription is successfully set and it matches the issued subscription @@ -117,7 +117,7 @@ PUT VNF Package Subscriptions - Method not implemented ... Test title: PUT VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH VNF Package Subscriptions - Method not implemented ... Test title: PATCH VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ DELETE VNF Package Subscriptions - Method not implemented ... Test title: DELETE VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ Get All VNF Package Subscriptions as Paged Response ... Test title: GET all VNF Package Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all VNF package subscriptions as Paged Response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports response paging for the subscription resources ... Post-Conditions: none @@ -167,7 +167,7 @@ GET All VNF Package Subscriptions as a Paged Response with nextpage_opauque_mark ... Test title: GET All VNF Package Subscriptions as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about all VNF package subscriptions as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving all VNF package subscriptions as a paged response has been successfully issued (Test ID 7.3.3.6.11) - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports response paging for the subscription resources ... Post-Conditions: none @@ -179,7 +179,7 @@ Get VNF Package Subscriptions - Bad Request Response too Big ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ Get VNF Package Subscriptions - Unprocessable Entity ... Test title: Get VNF Package Subscriptions - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed., and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot index 3f059a88e..e95abdcfe 100644 --- a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot +++ b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot @@ -11,7 +11,7 @@ Get single file VNFD in Individual VNF Package in Plain Format ... Test title: Get single file VNFD in Individual VNF Package in Plain Format ... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual VNF package and perform a validation that returned content is in plain format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -24,7 +24,7 @@ Get VNFD in Individual VNF Package in Zip Format ... Test title: Get VNFD in Individual VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -50,7 +50,7 @@ Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -74,7 +74,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ Get VNFD in Individual VNF Package Content with conflict due to onboarding state ... Test title: Get VNFD in Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ POST VNFD in Individual VNF Package Content - Method not implemented ... Test title: POST VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PUT VNFD in Individual VNF Package Content - Method not implemented ... Test title: PUT VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ PATCH VNFD in Individual VNF Package Content - Method not implemented ... Test title: PATCH VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ DELETE VNFD in Individual VNF Package Content - Method not implemented ... Test title: DELETE VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -147,7 +147,7 @@ Get single file VNFD in Individual OnBoarded VNF Package in Plain Format ... Test title: Get single file VNFD in Individual OnBoarded VNF Package in Plain Format ... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual OnBoarded VNF package and perform a validation that returned content is in plain format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -160,7 +160,7 @@ Get VNFD in Individual OnBoarded VNF Package in Zip Format ... Test title: Get VNFD in Individual OnBoarded VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual OnBoarded VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format ... Test title: Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file VNFD for an individual OnBoarded VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -186,7 +186,7 @@ Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format ... Test title: Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual OnBoarded VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -210,7 +210,7 @@ Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual OnBoarded VNF package content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -222,7 +222,7 @@ Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboar ... Test title: Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual OnBoarded VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -235,7 +235,7 @@ POST VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test title: POST VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -247,7 +247,7 @@ PUT VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test title: PUT VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -259,7 +259,7 @@ PATCH VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test title: PATCH VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -271,7 +271,7 @@ DELETE VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test title: DELETE VNFD in Individual OnBoarded VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -283,7 +283,7 @@ Get multi file VNFD in Individual VNF Package with security information ... Test title: Get multi file VNFD in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -296,7 +296,7 @@ Get multi file VNFD in Individual OnBoarded VNF Package with security informatio ... Test title: Get multi file VNFD in Individual OnBoarded VNF Package with security information ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual OnBoarded VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot index 400d108f4..f5794265e 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot @@ -11,7 +11,7 @@ Get VNF Package Artifact ... Test title: Get VNF Package Artifact ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain additional MANO artifacts when requested with "exclude_all_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain non-MANO Artifacts when requested with "exclude_all_non_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test title: Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain non_MANO artifacts set when requested with "select_non_mano_artifact_sets" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Get VNF Package Artifact with "include_signatures" parameter ... Test title: Get VNF Package Artifact with "include_signatures" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test title: Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the GET request read the whole content of the archive containing the artifact files successfully when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -90,7 +90,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "select_non_mano_artifact_sets" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "select_non_mano_artifact_sets" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "exclude_all_mano_artifactss" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "exclude_all_mano_artifacts" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ Get VNF Package Artifact with invalid URI parameters undifend select_non_mano_ar ... Test title: Get VNF Package Artifact with invalid URI parameters undefined select_non_mano_artifact_sets ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when one or more value provided in "select_non_mano_artifact_sets" are not provided in Manifest. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ Get VNF Package Artifact with conflict due to onboarding state ... Test title: Get VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET VNF Package Artifact with invalid Range Request ... Test title: GET VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -154,7 +154,7 @@ POST VNF Package Artifact - Method not implemented ... Test title: POST VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 10.4.5a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ PUT VNF Package Artifact - Method not implemented ... Test title: PUT VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ PATCH VNF Package Artifact - Method not implemented ... Test title: PATCH VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ DELETE VNF Package Artifact - Method not implemented ... Test title: DELETE VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -202,7 +202,7 @@ Get OnBoarded VNF Package Artifact ... Test title: Get OnBoarded VNF Package Artifact ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the OnBoarded VNF Package Artifact files successfully, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -215,7 +215,7 @@ Get OnBoarded VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test title: Get OnBoarded VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the OnBoarded VNF Package Artifact files successfully and it doesnot contain additional MANO artifacts when requested with "exclude_all_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -228,7 +228,7 @@ Get OnBoarded VNF Package Artifact with "exclude_all_non_mano_artifacts" paramet ... Test title: Get OnBoarded VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the OnBoarded VNF Package artifact files successfully and it doesnot contain non-MANO Artifacts when requested with "exclude_all_non_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -241,7 +241,7 @@ Get OnBoarded VNF Package Artifact with "select_non_mano_artifact_sets" paramete ... Test title: Get OnBoarded VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the OnBoarded VNF Package artifact files successfully and also contain non_MANO artifacts set when requested with "select_non_mano_artifact_sets" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -254,7 +254,7 @@ Get OnBoarded VNF Package Artifact with "include_signatures" parameter ... Test title: Get OnBoarded VNF Package Artifact with "include_signatures" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the OnBoarded VNF Package artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -267,7 +267,7 @@ Get OnBoarded VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: Get OnBoarded VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the GET request read the whole content of the archive containing the OnBoarded VNF Package artifact files successfully when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -281,7 +281,7 @@ Get OnBoarded VNF Package Artifact with invalid URI parameters "exclude_all_non_ ... Test title: Get OnBoarded VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "select_non_mano_artifact_sets" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the OnBoarded VNF Package artifact files fails when both "exclude_all_non_mano_artifacts" and "select_non_mano_artifact_sets" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -294,7 +294,7 @@ Get OnBoarded VNF Package Artifact with invalid URI parameters "exclude_all_non_ ... Test title: Get OnBoarded VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "exclude_all_mano_artifactss" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the OnBoarded VNF Package artifact files fails when both "exclude_all_non_mano_artifacts" and "exclude_all_mano_artifacts" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -307,7 +307,7 @@ Get OnBoarded VNF Package Artifact with invalid URI parameters undifend select_n ... Test title: Get OnBoarded VNF Package Artifact with invalid URI parameters undefined select_non_mano_artifact_sets ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the OnBoarded VNF Package artifact files fails when one or more value provided in "select_non_mano_artifact_sets" are not provided in Manifest. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -320,7 +320,7 @@ Get OnBoarded VNF Package Artifact with conflict due to onboarding state ... Test title: Get OnBoarded VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the OnBoarded VNF Package artifact files fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -333,7 +333,7 @@ GET OnBoarded VNF Package Artifact with invalid Range Request ... Test title: GET OnBoarded VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the OnBoarded VNF Package artifact files fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -345,7 +345,7 @@ POST OnBoarded VNF Package Artifact - Method not implemented ... Test title: POST OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 10.4.5a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -357,7 +357,7 @@ PUT OnBoarded VNF Package Artifact - Method not implemented ... Test title: PUT OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -369,7 +369,7 @@ PATCH OnBoarded VNF Package Artifact - Method not implemented ... Test title: PATCH OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -381,7 +381,7 @@ DELETE OnBoarded VNF Package Artifact - Method not implemented ... Test title: DELETE OnBoarded VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -393,7 +393,7 @@ Get VNF Package Artifact with "include_external_artifacts" parameter ... Test title: Get VNF Package Artifact with "include_external_artifacts" parameter ... Test objective: The objective is to test that GET request reads the whole content of the archive containing the external artifacts successfully when requested with "include_external_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -406,7 +406,7 @@ Get OnBoarded VNF Package Artifact with "include_external_artifacts" parameter ... Test title: Get OnBoarded VNF Package Artifact with "include_external_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the external OnBoarded VNF Package Artifacts successfully when requested with "include_external_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 10.4.5a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/VNFPackages.robot b/SOL003/VNFPackageManagement-API/VNFPackages.robot index 3bd6a50c6..de1f0410c 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackages.robot @@ -183,7 +183,7 @@ GET all VNF Packages as a Paged Response with nextpage_opauque_marker parameter ... Test title: GET all VNF Packages as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about all VNF packages as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving all VNF packages as a paged response has been successfully issued (Test ID 7.3.3.1.13) - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports response paging for the VNF package resources ... Post-Conditions: none @@ -381,7 +381,7 @@ GET all OnBoarded VNF Packages as a Paged Response with nextpage_opauque_marker ... Test title: GET all OnBoarded VNF Packages as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about all onBoarded VNF packages as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving all onBoarded VNF packages as a paged response has been successfully issued (Test ID 7.3.3.1.27) - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports response paging for the VNF package resources ... Post-Conditions: none -- GitLab From 0d86d3b4dbe982441b5e2dcebf7d2a346257e56e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:43:47 +0200 Subject: [PATCH 106/211] updated SOL003 VNF Package Management schemas to v3.5.1 --- .../schemas/vnfPkgInfo.schema.json | 540 +++++++++--------- .../schemas/vnfPkgsInfo.schema.json | 266 ++++++++- 2 files changed, 525 insertions(+), 281 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json b/SOL003/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json index e4ab35c5f..684c5f834 100644 --- a/SOL003/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json +++ b/SOL003/VNFPackageManagement-API/schemas/vnfPkgInfo.schema.json @@ -1,282 +1,262 @@ { - "description": "This type represents the information of an VNF package.\n", - "type": "object", - "required": [ - "id", - "operationalState", - "usageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF product. Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "type": "object", - "required": [ - "algorithm", - "hash" - ], - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "softwareImages": { - "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image.\n", - "type": "object", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Name of the software image.\n", - "type": "string" - }, - "provider": { - "description": "Provider of the software image.\n", - "type": "string" - }, - "version": { - "description": "A Version.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "type": "object", - "required": [ - "algorithm", - "hash" - ], - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains metadata about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format The list of permitted values was taken from \"Container formats\" in http://docs.openstack.org/image-guide/image-formats.html\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM\n- QCOW2: a common disk image format, which can expand dynamically and supports copy on write\n- RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format The list of permitted values was adapted from \"Disk formats\" in http://docs.openstack.org/image-guide/image-formats.html\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "The minimal disk for this software image in bytes.\n", - "type": "integer" - }, - "minRam": { - "description": "The minimal RAM for this software image in bytes.\n", - "type": "integer" - }, - "size": { - "description": "Size of this software image in bytes.\n", - "type": "integer" - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", - "type": "string" - } - } - } - }, - "additionalArtifacts": { - "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package.\n", - "type": "object", - "required": [ - "artifactPath", - "checksum" - ], - "properties": { - "artifactPath": { - "description": "Path in the VNF package, which identifies the artifact and also allows to access a copy of the artifact.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file.\n", - "type": "object", - "required": [ - "algorithm", - "hash" - ], - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "onboardingState": { - "description": "CREATED: The VNF package resource has been created. UPLOADING: The associated VNF package content is being uploaded. PROCESSING: The associated VNF package content is being processed, e.g., validation.\nONBOARDED: The associated VNF package content has been successfully on-boarded.\n", - "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "operationalState": { - "description": "- ENABLED: The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances.\n- DISABLED: The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package\n is re-enabled).\n", - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "usageState": { - "description": "- IN_USE: VNF instances instantiated from this VNF package exist. - NOT_IN_USE: No existing VNF instance is instantiated from this VNF package.\n" - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfd": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents the information of a VNF package. It shall comply with the provisions defined in table 10.5.2.2-1.\nNOTE 1:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the operationalState \n attribute shall be equal to \"DISABLED\".\nNOTE 2:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the usageState attribute \n shall be equal to \"NOT_IN_USE\".\nNOTE 3:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n", + "type": "object", + "required": ["id", "operationalState", "usageState", "vnfmInfo", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfProductName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "compatibleSpecificationVersions": { + "description": "Indicates which versions of the ETSI GS NFV-SOL 004 specification the package complies to, as defined in the manifest of the package. Each entry shall be formatted as defined in clause 4.3.2 of ETSI GS NFV-SOL 004.\n", + "type": "array", + "items": { + "description": "A version.\n", + "type": "string" + } + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "packageSecurityOption": { + "description": "Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004. It shall be present after the VNF package content has been on-boarded and absent otherwise. Valid values: OPTION_1, OPTION_2\n", + "type": "string", + "enum": ["OPTION_1", "OPTION_2"] + }, + "signingCertificate": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "softwareImages": { + "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "array", + "items": { + "description": "This type represents an artifact contained in or external to a VNF package which represents a software image. It shall comply with the provisions defined in table 10.5.3.2-1.\nNOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\nNOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\n", + "type": "object", + "required": ["id", "name", "provider", "version", "checksum", "isEncrypted", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "name": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "provider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "version": { + "description": "A version.\n", + "type": "string" + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "containerFormat": { + "description": "Container format indicates whether the software image is in a file format that also contains metadata about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format See note 1.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] + }, + "diskFormat": { + "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM\n- QCOW2: a common disk image format, which can expand dynamically and supports copy on write\n- RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format See note 2.\n", + "type": "string", + "enum": ["AKI", "AMI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "minDisk": { + "description": "The minimal disk for this software image in bytes.\n", + "type": "integer" + }, + "minRam": { + "description": "The minimal RAM for this software image in bytes.\n", + "type": "integer" + }, + "size": { + "description": "Size of this software image in bytes.\n", + "type": "integer" + }, + "userMetadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "imagePath": { + "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\". EXAMPLE: foo/bar/m%40ster.vhd For an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n", + "type": "string" + }, + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "additionalArtifacts": { + "description": "Information about VNF package artifacts contained in the VNF package that are not software images. Every local and external artifact declared in the manifest shall be included, except the software images and the files that make up the parts of the VNFD (see clause 10.4.4.3.2). Signature files and certificate files are not considered as artifacts, however, the content of the \"Licenses\" and \"Testing\" directories in the VNF package is. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", + "type": "array", + "items": { + "description": "This type represents an artifact other than a software image which is contained in or external to a VNF package.\n", + "type": "object", + "required": ["artifactPath", "checksum", "isEncrypted"], + "properties": { + "artifactPath": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactURI": { + "description": "URI of the artifact as defined in the VNF package manifest. Shall be present if the artifact is external to the package and shall be absent otherwise.\nEXAMPLE: https://example.com/m%40ster.sh\n", + "type": "array", + "items": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "nonManoArtifactSetId": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactClassification": { + "description": "Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present.\nValid values: -\tHISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 -\tTESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 -\tLICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004\n", + "type": "string", + "enum": ["HISTORY", "TESTING", "LICENSE"] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "onboardingState": { + "description": "CREATED: The \"Individual VNF package\" resource has been created. UPLOADING: The associated VNF package content is being uploaded. PROCESSING: The associated VNF package content is being processed, e.g., validation.\nONBOARDED: The associated VNF package content has been on-boarded successfully. ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing.\n", + "type": "string", + "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR"] + }, + "operationalState": { + "description": "- ENABLED: The VNF package is enabled, i.e. it can be used for the creation of new \"Individual VNF instance\" resources.\n- DISABLED: The VNF package is disabled, i.e. it shall not be used for the creation of further \"Individual VNF instance\" resources\n (unless and until the VNF package is re-enabled).\n", + "type": "string", + "enum": ["ENABLED", "DISABLED"] + }, + "usageState": { + "description": "- IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"Individual VNF instance\" resource created from this VNF package exists.\n", + "type": "string", + "enum": ["IN_USE", "NOT_IN_USE"] + }, + "vnfmInfo": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "onboardingFailureDetails": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "packageContent"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfd": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "packageContent": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json b/SOL003/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json index 5941dbfa5..6977bc12b 100644 --- a/SOL003/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json +++ b/SOL003/VNFPackageManagement-API/schemas/vnfPkgsInfo.schema.json @@ -1 +1,265 @@ -{ "type": "array", "items": { "description": "This type represents the information of an VNF package.\n", "type": "object", "required": [ "id", "operationalState", "usageState", "_links" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfProvider": { "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD.\n", "type": "string" }, "vnfProductName": { "description": "Name to identify the VNF product. Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", "type": "string" }, "vnfSoftwareVersion": { "description": "A Version.\n", "type": "string" }, "vnfdVersion": { "description": "A Version.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "type": "object", "required": [ "algorithm", "hash" ], "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "softwareImages": { "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", "type": "array", "items": { "description": "This type represents an artifact contained in a VNF package which represents a software image.\n", "type": "object", "required": [ "id", "name", "provider", "version", "checksum", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size", "imagePath" ], "properties": { "id": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "name": { "description": "Name of the software image.\n", "type": "string" }, "provider": { "description": "Provider of the software image.\n", "type": "string" }, "version": { "description": "A Version.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "type": "object", "required": [ "algorithm", "hash" ], "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "containerFormat": { "description": "Container format indicates whether the software image is in a file format that also contains metadata about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format The list of permitted values was taken from \"Container formats\" in http://docs.openstack.org/image-guide/image-formats.html\n", "type": "string", "enum": [ "AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF" ] }, "diskFormat": { "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM\n- QCOW2: a common disk image format, which can expand dynamically and supports copy on write\n- RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format The list of permitted values was adapted from \"Disk formats\" in http://docs.openstack.org/image-guide/image-formats.html\n", "type": "string", "enum": [ "AKI", "AMI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK" ] }, "createdAt": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" }, "minDisk": { "description": "The minimal disk for this software image in bytes.\n", "type": "integer" }, "minRam": { "description": "The minimal RAM for this software image in bytes.\n", "type": "integer" }, "size": { "description": "Size of this software image in bytes.\n", "type": "integer" }, "userMetadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "imagePath": { "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", "type": "string" } } } }, "additionalArtifacts": { "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", "type": "array", "items": { "description": "This type represents an artifact other than a software image which is contained in a VNF package.\n", "type": "object", "required": [ "artifactPath", "checksum" ], "properties": { "artifactPath": { "description": "Path in the VNF package, which identifies the artifact and also allows to access a copy of the artifact.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "type": "object", "required": [ "algorithm", "hash" ], "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "onboardingState": { "description": "CREATED: The VNF package resource has been created. UPLOADING: The associated VNF package content is being uploaded. PROCESSING: The associated VNF package content is being processed, e.g., validation.\nONBOARDED: The associated VNF package content has been successfully on-boarded.\n", "type": "string", "enum": [ "CREATED", "UPLOADING", "PROCESSING", "ONBOARDED" ] }, "operationalState": { "description": "- ENABLED: The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances.\n- DISABLED: The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package\n is re-enabled).\n", "type": "string", "enum": [ "ENABLED", "DISABLED" ] }, "usageState": { "description": "- IN_USE: VNF instances instantiated from this VNF package exist. - NOT_IN_USE: No existing VNF instance is instantiated from this VNF package.\n" }, "userDefinedData": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", "required": [ "self", "packageContent" ], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "vnfd": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "packageContent": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } } } } } }} \ No newline at end of file +{ + "type": "array", + "items": { + "description": "This type represents the information of a VNF package. It shall comply with the provisions defined in table 10.5.2.2-1.\nNOTE 1:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the operationalState \n attribute shall be equal to \"DISABLED\".\nNOTE 2:\tIf the value of the onboardingState attribute is not equal to \"ONBOARDED\", the value of the usageState attribute \n shall be equal to \"NOT_IN_USE\".\nNOTE 3:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n", + "type": "object", + "required": ["id", "operationalState", "usageState", "vnfmInfo", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfProductName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "compatibleSpecificationVersions": { + "description": "Indicates which versions of the ETSI GS NFV-SOL 004 specification the package complies to, as defined in the manifest of the package. Each entry shall be formatted as defined in clause 4.3.2 of ETSI GS NFV-SOL 004.\n", + "type": "array", + "items": { + "description": "A version.\n", + "type": "string" + } + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "packageSecurityOption": { + "description": "Signals the security option used by the package as defined in clause 5.1 of ETSI GS NFV-SOL 004. It shall be present after the VNF package content has been on-boarded and absent otherwise. Valid values: OPTION_1, OPTION_2\n", + "type": "string", + "enum": ["OPTION_1", "OPTION_2"] + }, + "signingCertificate": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "softwareImages": { + "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "array", + "items": { + "description": "This type represents an artifact contained in or external to a VNF package which represents a software image. It shall comply with the provisions defined in table 10.5.3.2-1.\nNOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\nNOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\n", + "type": "object", + "required": ["id", "name", "provider", "version", "checksum", "isEncrypted", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "name": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "provider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "version": { + "description": "A version.\n", + "type": "string" + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "containerFormat": { + "description": "Container format indicates whether the software image is in a file format that also contains metadata about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format See note 1.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] + }, + "diskFormat": { + "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM\n- QCOW2: a common disk image format, which can expand dynamically and supports copy on write\n- RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format See note 2.\n", + "type": "string", + "enum": ["AKI", "AMI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "minDisk": { + "description": "The minimal disk for this software image in bytes.\n", + "type": "integer" + }, + "minRam": { + "description": "The minimal RAM for this software image in bytes.\n", + "type": "integer" + }, + "size": { + "description": "Size of this software image in bytes.\n", + "type": "integer" + }, + "userMetadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "imagePath": { + "description": "Path which identifies the image artifact and also allows to access a copy of the image artifact. For a software image contained as a file in the VNF package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\". EXAMPLE: foo/bar/m%40ster.vhd For an external software image represented as a URI in the VNF descriptor, this attribute shall be present if the image artifact has been downloaded by the NFVO and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF package\" resource defined in clause 9.4.7. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of image artifacts included in the package.\n", + "type": "string" + }, + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "additionalArtifacts": { + "description": "Information about VNF package artifacts contained in the VNF package that are not software images. Every local and external artifact declared in the manifest shall be included, except the software images and the files that make up the parts of the VNFD (see clause 10.4.4.3.2). Signature files and certificate files are not considered as artifacts, however, the content of the \"Licenses\" and \"Testing\" directories in the VNF package is. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", + "type": "array", + "items": { + "description": "This type represents an artifact other than a software image which is contained in or external to a VNF package.\n", + "type": "object", + "required": ["artifactPath", "checksum", "isEncrypted"], + "properties": { + "artifactPath": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactURI": { + "description": "URI of the artifact as defined in the VNF package manifest. Shall be present if the artifact is external to the package and shall be absent otherwise.\nEXAMPLE: https://example.com/m%40ster.sh\n", + "type": "array", + "items": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "nonManoArtifactSetId": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactClassification": { + "description": "Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present.\nValid values: -\tHISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 -\tTESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 -\tLICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004\n", + "type": "string", + "enum": ["HISTORY", "TESTING", "LICENSE"] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "onboardingState": { + "description": "CREATED: The \"Individual VNF package\" resource has been created. UPLOADING: The associated VNF package content is being uploaded. PROCESSING: The associated VNF package content is being processed, e.g., validation.\nONBOARDED: The associated VNF package content has been on-boarded successfully. ERROR: There was an error during upload of the VNF package content or external artifacts, or during VNF package processing.\n", + "type": "string", + "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR"] + }, + "operationalState": { + "description": "- ENABLED: The VNF package is enabled, i.e. it can be used for the creation of new \"Individual VNF instance\" resources.\n- DISABLED: The VNF package is disabled, i.e. it shall not be used for the creation of further \"Individual VNF instance\" resources\n (unless and until the VNF package is re-enabled).\n", + "type": "string", + "enum": ["ENABLED", "DISABLED"] + }, + "usageState": { + "description": "- IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"Individual VNF instance\" resource created from this VNF package exists.\n", + "type": "string", + "enum": ["IN_USE", "NOT_IN_USE"] + }, + "vnfmInfo": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "onboardingFailureDetails": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "packageContent"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfd": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "packageContent": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } +} \ No newline at end of file -- GitLab From 8280ffc6ea7257bf22b192950b87b86721f3fb7c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:53:36 +0200 Subject: [PATCH 107/211] updated SOL003 VNF Package Mgmt callaback uri --- .../VNFPackageManagementKeywords.robot | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index e2cf20f87..65e4c103f 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -421,9 +421,8 @@ Send Post Request for VNF Package Subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${output}= Output response Set Global Variable ${response} ${output} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint Send Post Request for Duplicated VNF Package Subscription Log Trying to create a subscription with an already created content @@ -440,9 +439,8 @@ Send Post Request for Duplicated VNF Package Subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${output}= Output response Set Global Variable ${response} ${output} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint Send Put Request for VNF Package Subscriptions Log Trying to perform a PUT. This method should not be implemented -- GitLab From 4f80ed0b890874d7ec59509cff741b0b390738e0 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:26:09 +0200 Subject: [PATCH 108/211] Removing unused variables --- .../environment/variables.txt | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/environment/variables.txt b/SOL003/VNFPackageManagement-API/environment/variables.txt index 367da1ee0..0741289f7 100644 --- a/SOL003/VNFPackageManagement-API/environment/variables.txt +++ b/SOL003/VNFPackageManagement-API/environment/variables.txt @@ -7,7 +7,6 @@ ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken ${NFVO_FIELDS} 1 ${vnfPackageId} 788106a2-d692-44f3-a86d-384f0ce35e42 @@ -21,8 +20,6 @@ ${apiName} vnfpkgm ${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVO_ALLOWS_DUPLICATE_SUBS} 1 - ${response} httpresponse ${nextPageUri} /some_uri @@ -33,8 +30,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -63,17 +58,14 @@ ${SEPERATOR} = ${ACCEPT_PLAIN} text/plain -${CONTENT_TYPE_PLAIN} text/plain ${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File ${ACCEPT_ZIP} application/zip -${CONTENT_TYPE_ZIP} application/zip ${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files ${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database ${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075 ${artifactPath} artifactPath -${CONTENT_TYPE_OCTET} application/octet-stream ${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO ${range} bytes=0-1023 ${full_size} 2000 # Size of the requested artifact to be downloaded via partial downloads @@ -104,9 +96,6 @@ ${tosca_type_storage} tosca.nodes.nfv.Vdu.VirtualBlockStorage ${tosca_type_derived_from_VNF} ${VDU_IDs} -${VNF_IDs} -${virtualLink_IDs} -${CP_IDs} ${Storage_IDs} ${internalCP_IDs} ${externalCP_IDs} -- GitLab From 00dbba9a69a56505b436b580e54bc163fb8411ee Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 12:58:39 +0200 Subject: [PATCH 109/211] updated SOL003 Virtualised Res Quota to v3.5.1 --- .../IndividualSubscription.robot | 12 ++++----- .../NotificationEndpoint.robot | 2 +- .../Notifications.robot | 2 +- .../Subscriptions.robot | 26 +++++++++---------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot index 36d6bcb33..bc8fa196d 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot @@ -15,7 +15,7 @@ Create new Virtualised Resources Quota Available Notification individual subscri ... Test title: Create new Virtualised Resources Quota Available Notification individual subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual Virtualised Resources Quota Available Notification subscription subscribed by the client and perform a JSON schema and content validation of the returned individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that Delete method is allowed to remove a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ Get Information about an individual subscription - Not Found ... Test title: Get Information about an individual subscription - Not Found ... Test objective: The objective is to test that the retrieval of an individual Virtualised Resources Quota Available Notification subscription subscribed by the client fils when resource is not present ... Pre-conditions: The subscription with the given id does not exists - ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot index 78a0ee82a..1dd1174ed 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Vr Quota Availibility Notification ... Test title: Vr Quota Availibility Notification ... Test objective: The objective is to test that Vr Quota Availibility Notification is delivered with success to the notification consumer ... Pre-conditions: The VNF has subscribed to the Vr Quota Availibility resource - ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v.3.3.1 + ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Notifications.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Notifications.robot index 9235ba1a3..a8e64888b 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Notifications.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Notifications.robot @@ -13,7 +13,7 @@ Virtualised Resource Quota Available Notification ... Test title: Virtualised Resource Quota Available Notification ... Test objective: The objective is to test the dispatch of Virtualised Resource Quota Available Notification, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for Virtualised Resource Quota Available Notification is available in the VNFM. - ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot index bed62b182..47b42354b 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot @@ -15,7 +15,7 @@ Create new Virtualised Resources Quota Available Notification subscription ... Test title: Create new Virtualised Resources Quota Available Notification subscription ... Test objective: The objective is to create a new Virtualised Resources Quota Available Notification subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: no subscription with the same filter and callback Uri exists - ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Create new Virtualised Resources Quota Available Notification subscription - DUP ... Test title: Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION ... Test objective: The objective is to create a new Virtualised Resources Quota Available Notification subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: subscription with the same filter and callback Uri exists - ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: none @@ -43,7 +43,7 @@ Create new Virtualised Resources Quota Available Notification subscription - NO- ... Test title: Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION ... Test objective: The objective is to create a nduplicated Virtualised Resources Quota Available Notification subscription and verify that the VNF does not allow duplication ... Pre-conditions: subscription with the same filter and callback Uri exists - ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM decides to not create a duplicate subscription resource ... Post-Conditions: none @@ -56,7 +56,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions with attrib ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions and perform a JSON schema and content validation of the returned subscriptions data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET Virtualised Resources Quota Available Notification subscriptions - Bad Reque ... Test title: GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions with invalid attribute-based filtering parameters, and verify that problem details are returned ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ PUT Virtualised Resources Quota Available Notification subscriptions - Method no ... Test title: PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update existing Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ PATCH Virtualised Resources Quota Available Notification subscriptions - Method ... Test title: PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ DELETE Virtualised Resources Quota Available Notification subscriptions - Method ... Test title: DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to delete Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 11.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions as Paged Re ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions as Paged Response ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions as a Paged Response. ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscription resources ... Post-Conditions: none @@ -144,7 +144,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions as Paged Re ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions as Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query the list of active Virtualised Resources Quota Available Notification subscriptions as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving the list of active Virtualised Resources Quota Available Notification subscriptions as a paged response has been successfully issued (Test ID 7.3.7.1.10) - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscription resources ... Post-Conditions: none @@ -156,7 +156,7 @@ GET Virtualised Resources Quota Available Notification subscriptions - Bad Reque ... Test title: GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active Virtualised Resources Quota Available Notification subscriptions list fails because response is too big, and verify that problem details are returned ... Pre-conditions: none - ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -169,7 +169,7 @@ Create new Virtualised Resources Quota Available Notification Subscription - Unp ... Test title: Create new Virtualised Resources Quota Available Notification Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From 4658124cbefa25e7f743066eee3de339a2335a8e Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:54:29 +0200 Subject: [PATCH 110/211] updated SOL003 Virtualised Resource Quota callaback uri --- .../VRQANOperationKeywords.robot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot index 9c405cd24..be74e412e 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot @@ -106,6 +106,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION @@ -124,6 +125,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION @@ -142,6 +144,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} GET Virtualised Resources Quota Available Notification Subscriptions -- GitLab From 230a10c7077397168ae1f698d09b9714430c6de4 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:30:01 +0200 Subject: [PATCH 111/211] Removing unused variables --- .../environment/variables.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt index 833aad663..98902db86 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/environment/variables.txt @@ -19,7 +19,6 @@ ${callback_endpoint_fwd} /endpoint/check ${callback_subscribe} /subscribe ${callback_port} 9091 ${callback_uri} http://localhost -${sleep_interval} 20s ${nextPageUri} /some_uri @@ -30,7 +29,6 @@ ${apiRoot} / ${apiName} vrqan ${apiMajorVersion} v1 -${VrQuotaAvailNotification} {} ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${response} {} -- GitLab From 314a6ddbfbe7b82aee473ffdaad1b7bc1955a6e9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:44:50 +0200 Subject: [PATCH 112/211] updated SOL003 VNF Snapshot Management refs to v3.5.1 --- .../IndividualVNFSnapshotPackage.robot | 12 ++++---- ...IndividualVNFSnapshotPackageArtifact.robot | 18 +++++------ .../VNFSnapshotPackageContent.robot | 18 +++++------ .../VNFSnapshotPackages.robot | 30 +++++++++---------- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot b/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot index 61a4f53a0..4c1f7ad85 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot +++ b/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackage.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot Package - Method not implemented ... Test title: POST Individual VNF Snapshot Package - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an individual VNF Snapshot Package - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot Package - SUCCESSFUL ... Test objective: The objective is to query information about a VNF Snapshot Package resource ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an individual VNF Snapshot Package - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot Package - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot Package fails when using an invalid resource identifier. ... Pre-conditions: At least one individual VNF Snapshot Package is available in the NFV-MANO. - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNF Snapshot Package - Method not implemented ... Test title: PUT Individual VNF Snapshot Package - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -57,7 +57,7 @@ PATCH Individual VNF Snapshot Package - Method Not implemented ... Test title: PATCH Individual VNF Snapshot Package ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package modified @@ -69,7 +69,7 @@ DELETE Individual VNF Snapshot Package - Method Not implemented ... Test title: DELETE Individual VNF Snapshot Package - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package deleted diff --git a/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot b/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot index e850c7284..21271a863 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot +++ b/SOL003/VNFSnapshotPackageManagement-API/IndividualVNFSnapshotPackageArtifact.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot Package Artifact - Method not implemented ... Test title: POST Individual VNF Snapshot Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Individual VNF Snapshot Package Artifact - Complete File ... Test title: GET Information about an individual VNF Snapshot Package - Complete File ... Test objective: The objective is to fetch the whole content of a VNF snapshot package using GET method. ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Individual VNF Snapshot Package Artifact - Partial Content ... Test title: GET Individual VNF Snapshot Package Artifact - Partial Content ... Test objective: The objective is to fetch partial content of a VNF snapshot package by sending a range request using GET method. ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -47,7 +47,7 @@ GET Individual VNF Snapshot Package Artifact - Range Request Not Supported ... Test title: GET Information about an individual VNF Snapshot Package - Range Request Not Supported ... Test objective: The objective is to test that the whole content of a VNF snapshot package is delivered even with a range request when NFVO does not support range requests. ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support range requests ... Post-Conditions: none @@ -60,7 +60,7 @@ GET Individual VNF Snapshot Package Artifact - Range Not Satisfiable ... Test title: GET Information about an individual VNF Snapshot Package - Range Not Satisfiable ... Test objective: The objective is to test that an error is returned when the byte range passed in the "Range" header does not match any available byte range in the VNF snapshot package file. ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -72,7 +72,7 @@ GET Individual VNF Snapshot Package Artifact - Conflict ... Test title: GET Information about an individual VNF Snapshot Package - Conflict ... Test objective: The objective is to test that an error is returned when the "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Post-Conditions: none @@ -84,7 +84,7 @@ PUT Individual VNF Snapshot Package Artifact - Method not implemented ... Test title: PUT Individual VNF Snapshot Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -96,7 +96,7 @@ PATCH Individual VNF Snapshot Package Artifact - Method Not implemented ... Test title: PATCH Individual VNF Snapshot Package Artifact ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ DELETE Individual VNF Snapshot Package Artifact - Method Not implemented ... Test title: DELETE Individual VNF Snapshot Package Artifact - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot b/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot index 458d08b71..b19181668 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot +++ b/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackageContent.robot @@ -7,7 +7,7 @@ POST VNF Snapshot Package Content - Method not implemented ... Test title: POST VNF Snapshot Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET VNF Snapshot Package Content - Complete File ... Test title: GET Information about an individual VNF Snapshot Package - Complete File ... Test objective: The objective is to fetch the whole content of a VNF snapshot package using GET method. ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET VNF Snapshot Package Content - Partial Content ... Test title: GET VNF Snapshot Package Content - Partial Content ... Test objective: The objective is to fetch partial content of a VNF snapshot package by sending a range request using GET method. ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -47,7 +47,7 @@ GET VNF Snapshot Package Content - Range Request Not Supported ... Test title: GET Information about an individual VNF Snapshot Package - Range Request Not Supported ... Test objective: The objective is to test that the whole content of a VNF snapshot package is delivered even with a range request when NFVO does not support range requests. ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support range requests ... Post-Conditions: none @@ -60,7 +60,7 @@ GET VNF Snapshot Package Content - Range Not Satisfiable ... Test title: GET Information about an individual VNF Snapshot Package - Range Not Satisfiable ... Test objective: The objective is to test that an error is returned when the byte range passed in the "Range" header does not match any available byte range in the VNF snapshot package file. ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports range requests ... Post-Conditions: none @@ -72,7 +72,7 @@ GET VNF Snapshot Package Content - Conflict ... Test title: GET Information about an individual VNF Snapshot Package - Conflict ... Test objective: The objective is to test that an error is returned when the "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: The "state" of the VNF snapshot package has a value different from "AVAILABLE". ... Post-Conditions: none @@ -84,7 +84,7 @@ PUT VNF Snapshot Package Content - Method not implemented ... Test title: PUT VNF Snapshot Package Content - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -96,7 +96,7 @@ PATCH VNF Snapshot Package Content - Method Not implemented ... Test title: PATCH VNF Snapshot Package Content ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ DELETE VNF Snapshot Package Content - Method Not implemented ... Test title: DELETE VNF Snapshot Package Content - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot b/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot index 19060b7ab..7a5543f4a 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot +++ b/SOL003/VNFSnapshotPackageManagement-API/VNFSnapshotPackages.robot @@ -7,7 +7,7 @@ POST VNF Snapshot Packages - Method not implemented ... Test title: POST VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET information about multiple VNF Snapshot Packages ... Test title: GET information about multiple VNF Snapshot Packages ... Test objective: The objective is to get information about multiples VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET information about multiple VNF Snapshot Packages Bad Request Invalid attribu ... Test title: GET information about multiple VNF Snapshot Packages Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshot Packages with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET information about multiple VNF Snapshot Packages Bad Request Invalid attribu ... Test title: GET information about multiple VNF Snapshot Packages Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshot Packages with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET information about multiple VNF Snapshot Packages with "all_fields" attribute ... Test title: GET information about multiple VNF Snapshot Packages with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_default" attr ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET information about multiple VNF Snapshot Packages with "fields" attribute sel ... Test title: GET information about multiple VNF Snapshot Packages with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_default" and ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET information about multiple VNF Snapshot Packages with "exclude_fields" attri ... Test title: GET information about multiple VNF Snapshot Packages with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshot Packages ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET VNF Snapshot Packages - Bad Request Response too Big ... Test title: GET VNF Snapshot Packages - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshot Packages list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -136,7 +136,7 @@ GET VNF Snapshot Packages as Paged Response ... Test title: GET VNF Snapshot Packages as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshot Packages as paged response. ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -149,7 +149,7 @@ PUT VNF Snapshot Packages - Method not implemented ... Test title: PUT VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ PATCH VNF Snapshot Packages - Method not implemented ... Test title: PATCH VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ DELETE VNF Snapshot Packages - Method not implemented ... Test title: DELETE VNF Snapshot Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF snapshot package is not deleted @@ -185,7 +185,7 @@ GET information about multiple VNF Snapshot Packages using filter ... Test title: GET information about multiple VNF Snapshot Packages using filter ... Test objective: The objective is to get information about multiples VNF Snapshot Packages using filter ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From 26a5697041a0b425c1c20af786227fd70671a813 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:01:13 +0200 Subject: [PATCH 113/211] updated SOL003 VNF Snapshot Management schemas to v3.5.1 --- .../schemas/VnfSnapshotPkgInfo.schema.json | 125 +---- .../schemas/VnfSnapshotPkgInfos.schema.json | 512 ++++++++---------- 2 files changed, 241 insertions(+), 396 deletions(-) diff --git a/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json b/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json index d2cf2c049..50b278a27 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json +++ b/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfo.schema.json @@ -1,14 +1,7 @@ { - "description": "This type represents the information of a VNF snapshot package.\n", + "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 12.5.2.2-1.\nNOTE:\tThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this \n attribute shall be present unless it has been requested to be excluded per attribute selector.\n", "type": "object", - "required": [ - "id", - "name", - "isFullSnapshot", - "state", - "isCancelPending", - "_links" - ], + "required": ["id", "name", "isFullSnapshot", "state", "isCancelPending", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -36,7 +29,7 @@ "type": "string" }, "vnfcSnapshotInfoIds": { - "description": "Identifiers of information held by the VNFM about specific VNFC snapshots part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Identifiers of information held by the VNFM about specific VNFC snapshots part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nSee note.\n", "type": "object", "items": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -50,12 +43,7 @@ "vnfdInfo": { "description": "This type represents the VNFD which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "avnfdId", - "vnfdPath", - "checksum", - "isEncrypted" - ], + "required": ["avnfdId", "vnfdPath", "checksum", "isEncrypted"], "properties": { "avnfdId": { "description": "An identifier with the intention of being globally unique.\n", @@ -78,11 +66,7 @@ "vnfsr": { "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "recordPath", - "checksum", - "isEncrypted" - ], + "required": ["recordPath", "checksum", "isEncrypted"], "properties": { "recordPath": { "description": "A string defined in IETF RFC 8259.\n", @@ -99,24 +83,12 @@ } }, "vnfcSnapshotImages": { - "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included.\nSee note.\n", "type": "object", "items": { - "description": "This type represents an artifact contained in a VNF snapshot package which represents a snapshot image.\n", + "description": "This type represents an artifact contained in a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 12.5.3.2-1.\nNOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\nNOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\n", "type": "object", - "required": [ - "id", - "name", - "checksum", - "isEncrypted", - "vnfcInstanceId", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size" - ], + "required": ["id", "name", "checksum", "isEncrypted", "vnfcInstanceId", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], "properties": { "id": { "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", @@ -139,33 +111,14 @@ "type": "string" }, "containerFormat": { - "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format\nNOTE: The list of permitted values was taken from \"Container formats\" in [i.5] (OpenStack® documentation: \"Disk and container formats for images\").\n", + "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format\nSee note 1.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] }, "diskFormat": { - "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nNOTE: The list of permitted values was adapted from \"Disk formats\" in [i.5] (OpenStack® documentation: \"Disk and container formats for images\").\n", + "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nSee note 2.\n", "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] }, "createdAt": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", @@ -203,15 +156,12 @@ } }, "additionalArtifacts": { - "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nSee note.\n", "type": "object", "items": { "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "checksum", - "isEncrypted" - ], + "required": ["checksum", "isEncrypted"], "properties": { "artifactPath": { "description": "A string defined in IETF RFC 8259.\n", @@ -237,17 +187,9 @@ } }, "state": { - "description": "State of the VNF snapshot package. Permitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", + "description": "State of the VNF snapshot package. Permitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - PROCESSING: the VNF snapshot is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", "type": "string", - "enum": [ - "CREATED", - "BUILDING", - "UPLOADING", - "EXTRACTING", - "AVAILABLE", - "ERROR", - "ERROR_EXTRACTING" - ] + "enum": ["CREATED", "BUILDING", "UPLOADING", "EXTRACTING", "AVAILABLE", "PROCESSING", "ERROR", "ERROR_EXTRACTING"] }, "isCancelPending": { "description": "The Boolean is a data type having two values (true and false).\n", @@ -256,32 +198,20 @@ "failureDetails": { "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", "type": "object", - "required": [ - "errorType", - "details" - ], + "required": ["errorType", "details"], "properties": { "errorType": { "description": "Type of error, when the failure happened (building, upload, processing, extracting).\nPermitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", "type": "string", - "enum": [ - "BUILD_ERROR", - "UPLOAD_ERROR", - "PROCESS_ERROR", - "CANCELLED", - "EXTRACTION_ERROR" - ] + "enum": ["BUILD_ERROR", "UPLOAD_ERROR", "PROCESS_ERROR", "CANCELLED", "EXTRACTION_ERROR"] }, "details": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", "type": "object", - "required": [ - "status", - "detail" - ], + "required": ["status", "detail"], "properties": { "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, @@ -313,17 +243,12 @@ "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self", - "packageContent" - ], + "required": ["self", "packageContent"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -334,9 +259,7 @@ "packageContent": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json b/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json index 692200c73..4f0ece55b 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json +++ b/SOL003/VNFSnapshotPackageManagement-API/schemas/VnfSnapshotPkgInfos.schema.json @@ -1,131 +1,57 @@ { - "type": "array", - "items": - { - "description": "This type represents the information of a VNF snapshot package.\n", - "type": "object", - "required": [ - "id", - "name", - "isFullSnapshot", - "state", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshotPkgUniqueId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "checksum": { - "description": "Cheksum description\n", - "type": "string" - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfSnapshotId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcSnapshotInfoIds": { - "description": "Identifiers of information held by the VNFM about specific VNFC snapshots part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "object", - "items": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "array", + "items": { + "description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 12.5.2.2-1.\nNOTE:\tThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this \n attribute shall be present unless it has been requested to be excluded per attribute selector.\n", + "type": "object", + "required": ["id", "name", "isFullSnapshot", "state", "isCancelPending", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "isFullSnapshot": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" - }, - "vnfdInfo": { - "description": "This type represents the VNFD which is contained in a VNF snapshot package.\n", - "type": "object", - "required": [ - "avnfdId", - "vnfdPath", - "checksum", - "isEncrypted" - ], - "properties": { - "avnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdPath": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "checksum": { - "description": "Cheksum description\n", - "type": "string" - }, - "isEncrypted": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" - } - } - }, - "vnfsr": { - "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package.\n", - "type": "object", - "required": [ - "recordPath", - "checksum", - "isEncrypted" - ], - "properties": { - "recordPath": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "checksum": { - "description": "Cheksum description\n", + }, + "vnfSnapshotPkgUniqueId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfSnapshotId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcSnapshotInfoIds": { + "description": "Identifiers of information held by the VNFM about specific VNFC snapshots part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nSee note.\n", + "type": "object", + "items": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", "type": "string" - }, - "isEncrypted": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" } - } - }, - "vnfcSnapshotImages": { - "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "object", - "items": { - "description": "This type represents an artifact contained in a VNF snapshot package which represents a snapshot image.\n", + }, + "isFullSnapshot": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "vnfdInfo": { + "description": "This type represents the VNFD which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "id", - "name", - "checksum", - "isEncrypted", - "vnfcInstanceId", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size" - ], + "required": ["avnfdId", "vnfdPath", "checksum", "isEncrypted"], "properties": { - "id": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "avnfdId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "name": { + "vnfdPath": { "description": "A string defined in IETF RFC 8259.\n", "type": "string" }, @@ -136,94 +62,18 @@ "isEncrypted": { "description": "The Boolean is a data type having two values (true and false).\n", "type": "boolean" - }, - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "containerFormat": { - "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format\nNOTE: The list of permitted values was taken from \"Container formats\" in [i.5] (OpenStack® documentation: \"Disk and container formats for images\").\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nNOTE: The list of permitted values was adapted from \"Disk formats\" in [i.5] (OpenStack® documentation: \"Disk and container formats for images\").\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Unsigned integer number\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "imagePath": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "imageUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" } } - } - }, - "additionalArtifacts": { - "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nNOTE: The attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "object", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package.\n", + }, + "vnfsr": { + "description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "checksum", - "isEncrypted" - ], + "required": ["recordPath", "checksum", "isEncrypted"], "properties": { - "artifactPath": { + "recordPath": { "description": "A string defined in IETF RFC 8259.\n", "type": "string" }, - "artifactUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, "checksum": { "description": "Cheksum description\n", "type": "string" @@ -231,124 +81,196 @@ "isEncrypted": { "description": "The Boolean is a data type having two values (true and false).\n", "type": "boolean" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - }, - "state": { - "description": "State of the VNF snapshot package. Permitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", - "type": "string", - "enum": [ - "CREATED", - "BUILDING", - "UPLOADING", - "EXTRACTING", - "AVAILABLE", - "ERROR", - "ERROR_EXTRACTING" - ] - }, - "isCancelPending": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" - }, - "failureDetails": { - "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", - "type": "object", - "required": [ - "errorType", - "details" - ], - "properties": { - "errorType": { - "description": "Type of error, when the failure happened (building, upload, processing, extracting).\nPermitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", - "type": "string", - "enum": [ - "BUILD_ERROR", - "UPLOAD_ERROR", - "PROCESS_ERROR", - "CANCELLED", - "EXTRACTION_ERROR" - ] - }, - "details": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + }, + "vnfcSnapshotImages": { + "description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included.\nSee note.\n", + "type": "object", + "items": { + "description": "This type represents an artifact contained in a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 12.5.3.2-1.\nNOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\nNOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack® documentation: \"Disk and container formats for images\"\n (Available at https://docs.openstack.org/glance/pike/user/formats.html).\n", "type": "object", - "required": [ - "status", - "detail" - ], + "required": ["id", "name", "checksum", "isEncrypted", "vnfcInstanceId", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"], "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" + "id": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "name": { + "description": "A string defined in IETF RFC 8259.\n", "type": "string" }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" + "checksum": { + "description": "Cheksum description\n", + "type": "string" }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "vnfcInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "containerFormat": { + "description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - BARE: the image does not have a container or metadata envelope - DOCKER: docker container format - OVA: OVF package in a tarfile - OVF: OVF container format\nSee note 1.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] + }, + "diskFormat": { + "description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\nSee note 2.\n", + "type": "string", + "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] + }, + "createdAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", - "format": "URI" + "format": "date-time" + }, + "minDisk": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 + }, + "minRam": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 + }, + "size": { + "description": "Unsigned integer number\n", + "type": "integer", + "minimum": 0 + }, + "userMetadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "imagePath": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "imageUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", + }, + "additionalArtifacts": { + "description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nSee note.\n", + "type": "object", + "items": { + "description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package.\n", "type": "object", - "required": [ - "href" - ], + "required": ["checksum", "isEncrypted"], "properties": { - "href": { + "artifactPath": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "artifactUri": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" + }, + "checksum": { + "description": "Cheksum description\n", + "type": "string" + }, + "isEncrypted": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } } - }, - "packageContent": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + } + }, + "state": { + "description": "State of the VNF snapshot package. Permitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - PROCESSING: the VNF snapshot is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n", + "type": "string", + "enum": ["CREATED", "BUILDING", "UPLOADING", "EXTRACTING", "AVAILABLE", "PROCESSING", "ERROR", "ERROR_EXTRACTING"] + }, + "isCancelPending": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "failureDetails": { + "description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n", + "type": "object", + "required": ["errorType", "details"], + "properties": { + "errorType": { + "description": "Type of error, when the failure happened (building, upload, processing, extracting).\nPermitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n", + "type": "string", + "enum": ["BUILD_ERROR", "UPLOAD_ERROR", "PROCESS_ERROR", "CANCELLED", "EXTRACTION_ERROR"] + }, + "details": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self", "packageContent"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "packageContent": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } } } } - } } \ No newline at end of file -- GitLab From 07c4d8be497cd5bfd916c6c25416ccf8e31cfdc2 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:27:58 +0200 Subject: [PATCH 114/211] Removing unused variables --- .../environment/variables.txt | 61 ------------------- 1 file changed, 61 deletions(-) diff --git a/SOL003/VNFSnapshotPackageManagement-API/environment/variables.txt b/SOL003/VNFSnapshotPackageManagement-API/environment/variables.txt index c7b18c060..cd9af8ecc 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/environment/variables.txt +++ b/SOL003/VNFSnapshotPackageManagement-API/environment/variables.txt @@ -7,70 +7,19 @@ ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken -${NFVO_FIELDS} 1 - -${vnfPackageId} 788106a2-d692-44f3-a86d-384f0ce35e42 -${vndId} 788106a2-d692-44f3-a86d-384f0ce35e42 -${onboardingStateVnfPkgId} f9f130e4-05eb-4082-a676-4c97d13a883d -${onboardingStateVnfdId} f9f130e4-05eb-4082-a676-4c97d13a883d ${apiRoot} / ${apiMajorVersion} v1 ${apiName} vnfsnapshotpkgm -${NFVO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint - -${NFVO_ALLOWS_DUPLICATE_SUBS} 1 ${PAGING_SUPPORTED} 1 ${response} httpresponse -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar - -${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - - -${notification_request} [] -${notification_response} [] - -${NFVO_non-MANO_OK} 1 # If 1 means that non-MANO artifacts are supported by the NFVO -${non_mano_artifact_sets} - - -${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586 -${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions -${newSubscriptionId} newSubsciptionId - -${origResponse} httpresponse - - -${erroneousVnfPackageId} erroneousVnfPackageId # Given ID for vnfPkg not present in database -${erroneousVnfdId} erroneousVnfdId - - -${filter_ok} callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions -${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based -${SEPERATOR} = - - -${ACCEPT_PLAIN} text/plain -${CONTENT_TYPE_PLAIN} text/plain -${vnfPkgPlainVNFD} c26ad7fb-072b-48c4-a663-7d71646d9e98 # The VNF Pakcage contains a VNFD which is a Single Plain File ${ACCEPT_ZIP} application/zip ${ACCEPT_OCTET} application/octet-stream ${CONTENT_TYPE_ZIP} application/zip -${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files -${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database -${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075 ${artifactPath} artifactPath @@ -79,20 +28,10 @@ ${NFVO_RANGE_OK} 1 # If 1 means that Range is supported by the NFVO ${range} bytes=0-1023 ${full_length} 2000 # Size of the requested artifact to be downloaded via partial downloads ${erroneousRange} bytes=10000000-1000000000 # Requesting a out of range number of bytes -${vnfPackageOctetStreamId} octetStreamPkgId -${vnfdOctetStreamId} octetStreamVnfdId -${vndEncryptedArtifactID} encryptedId - - -${length} 1024 ${POS_FILTER} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW # Positive case, suing compiant fields name for filtering get request ${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields} failureDetails -${VAR_SEPERATOR} & - -${callbackResp} localhost - ${vnfSnapshotPkgId} ${invalidVnfSnapshotPkgId} ${vnfSnapshotPkgId_notInAvailableState} \ No newline at end of file -- GitLab From c5cd3eaa990510c703061557de5a16ae99936e3b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 14:43:59 +0200 Subject: [PATCH 115/211] updated SOL003 VNF LCM refs to v3.5.1 --- .../CancelOperationTask.robot | 14 +++---- .../CancelOperationWorkflow.robot | 4 +- .../ChangeCurrentVNFPackageTask.robot | 12 +++--- .../ChangeExternalVNFConnectivityTask.robot | 10 ++--- ...hangeExternalVNFConnectivityWorkflow.robot | 2 +- .../ChangeVNFFlavourTask.robot | 14 +++---- .../ChangeVNFFlavourWorkflow.robot | 2 +- .../CreateVNFSnapshotTask.robot | 16 ++++---- .../CreateVNFWorkflow.robot | 2 +- .../DeleteVNFWorkflow.robot | 2 +- .../FailOperationTask.robot | 14 +++---- .../FailOperationWorkflow.robot | 2 +- .../HealVNFTask.robot | 14 +++---- .../HealVNFWorkflow.robot | 2 +- .../IndividualSubscription.robot | 12 +++--- .../IndividualVNFInstance.robot | 18 ++++----- .../IndividualVNFSnapshot.robot | 18 ++++----- .../IndividualVnfLcmOperationOccurence.robot | 12 +++--- .../InstantiateVNFTask.robot | 12 +++--- .../InstantiateVNFTaskWorkflow.robot | 2 +- .../ModifyVNFInformationWorkflow.robot | 2 +- .../NotificationEndpoint.robot | 6 +-- .../Notifications.robot | 8 ++-- .../OperateVNFTask.robot | 14 +++---- .../OperateVNFWorkflow.robot | 2 +- .../RetryOperationTask.robot | 14 +++---- .../RetryOperationWorkflow.robot | 4 +- .../RevertToVNFSnapshotTask.robot | 14 +++---- .../RollBackOperationWorkflow.robot | 4 +- .../RollbackOperationTask.robot | 14 +++---- .../ScaleVNFTask.robot | 14 +++---- .../ScaleVNFToLevelTask.robot | 14 +++---- .../ScaleVNFToLevelWorkflow.robot | 2 +- .../ScaleVNFWorkflow.robot | 2 +- .../Subscriptions.robot | 24 +++++------ .../TerminateVNFTask.robot | 12 +++--- .../TerminateVNFWorkflow.robot | 2 +- .../VNFInstances.robot | 40 +++++++++---------- .../VNFSnapshots.robot | 30 +++++++------- .../VNFStateSnapshot.robot | 18 ++++----- .../VnfLcmOperationOccurences.robot | 30 +++++++------- 41 files changed, 227 insertions(+), 227 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot index 5700ba314..604361597 100644 --- a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -12,7 +12,7 @@ POST Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. ... Pre-conditions: The "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF instance status equal to FAILED_TEMP @@ -25,7 +25,7 @@ POST Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state ... Pre-conditions: The "VNF LCM operation occurrence" is not in STARTING, PROCESSING or ROLLING_BACK state - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Cancel operation task Not Found ... Test title: POST Cancel operation task Not Found ... Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot index 708b239b9..34f0c7e04 100644 --- a/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot @@ -18,7 +18,7 @@ Cancel a VNF LCM Operation - STARTING ... Test title: Cancel a VNF LCM Operation - STARTING ... Test objective: The objective is to test the workflow for Cancelling a VNF LCM Operation being in the STARTING state ... Pre-conditions: The VNF lifecycle management operation occurrence is in STARTING state. NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID 5.4.20.1) - ... Reference: Clause 5.4.17 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.17 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in ROLLED_BACK state @@ -34,7 +34,7 @@ Cancel a VNF LCM Operation - PROCESSING - ROLLING_BACK ... Test title: Cancel a VNF LCM Operation - PROCESSING - ROLLING_BACK ... Test objective: The objective is to test the workflow for Cancelling a VNF LCM Operation being either in the PROCESSIONG or ROLLING_BACK state ... Pre-conditions: The VNF lifecycle management operation occurrence is in PROCESSING or ROLLING_BACK state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot index b4939655d..acd46cbbf 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot @@ -13,7 +13,7 @@ POST Change current VNF Package Task ... Test title: POST Change current VNF Package Task ... Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Change current VNF Package Task - Conflict ... Test title: POST Change current VNF Package Task - Conflict ... Test objective: The objective is to test that the POST method cannot change the current VNF package task when another lifecycle management operation is ongoing. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: There is another lifecycle management operation ongoing. ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Change current VNF Package Task - Method not implemented ... Test title: GET Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Change current VNF Package Task - Method not implemented ... Test title: PUT Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Change current VNF Package Task - Method not implemented ... Test title: PATCH Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Change current VNF Package Task - Method not implemented ... Test title: DELETE Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot index 55ea09cbe..60d8b6a28 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot @@ -12,7 +12,7 @@ POST Change external VNF connectivity ... Test title: POST Change external VNF connectivity ... Test objective: The objective is to test that POST method trigger a change in VNF external connectivity ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -25,7 +25,7 @@ GET Change external VNF connectivity - Method not implemented ... Test title: GET Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Change external VNF connectivity - Method not implemented ... Test title: PUT Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH Change external VNF connectivity - Method not implemented ... Test title: PATCH Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ DELETE Change external VNF connectivity - Method not implemented ... Test title: DELETE Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot index 47595f6fc..2cce0225b 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot @@ -17,7 +17,7 @@ Change external connectivity of VNF Workflow ... Test title: Change external connectivity of VNF Workflow ... Test objective: The objective is to change the external connectivity of a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: Clause 5.4.11 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.11 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. The VNFD supports the external connectivity change ... Post-Conditions: VNF instance still in INSTANTIATED state and external connectivity of the VNF is changed diff --git a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index 1a0e50e0f..8229f421a 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -12,7 +12,7 @@ POST Change deployment flavour of a vnfInstance ... Test title: POST Change deployment flavour of a vnfInstance ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -25,7 +25,7 @@ POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because of a conflict with the state of the VNF instance resource. (VNF instance resource is not in NOT-INSTANTIATED state) ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Change deployment flavour of a vnfInstance Not Found ... Test title: POST Change deployment flavour of a vnfInstance Not Found ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Change deployment flavour VNFInstance - Method not implemented ... Test title: GET Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Change deployment flavour VNFInstance - Method not implemented ... Test title: PUT Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Change deployment flavour VNFInstance - Method not implemented ... Test title: PATCH Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Change deployment flavour VNFInstance - Method not implemented ... Test title: DELETE Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot index 1bbe9ec47..a0e552cdd 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot @@ -17,7 +17,7 @@ Change VNF Flavour Workflow ... Test title: Change VNF Flavour Workflow ... Test objective: The objective is to test the workflow for a change flavour of an existing VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state . NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.4.7 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.7 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: Multiple flavours are supported for the VNF (as capability in the VNFD). NFVO is able to receive notifications from VNFM ... Post-Conditions: VNF instance still in INSTANTIATED state and the flavour is changed diff --git a/SOL003/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot b/SOL003/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot index 9f13d0429..f8b09badf 100644 --- a/SOL003/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot +++ b/SOL003/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Create VNF Snapshot Task ... Test title: POST Create VNF Snapshot Task ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Create VNF Snapshot Task - NOT FOUND ... Test title: POST Create VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request for a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Create VNF Snapshot Task - CONFLICT ... Test title: POST Create VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Create VNF Snapshot Task - UNPROCESSIBLE ENTITY ... Test title: POST Create VNF Snapshot Task - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the provided identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Post-Conditions: none @@ -65,7 +65,7 @@ GET Create VNF Snapshot Task - Method not implemented ... Test title: GET Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PUT Create VNF Snapshot Task - Method not implemented ... Test title: PUT Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Create VNF Snapshot Task - Method not implemented ... Test title: PATCH Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE Create VNF Snapshot Task - Method not implemented ... Test title: DELETE Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot index 309f34c1c..04ed91e29 100644 --- a/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot @@ -17,7 +17,7 @@ Create VNF Instance Resource ... Test title: Create VNF Instance workflow ... Test objective: The objective is to test the workflow for the creation of a new VNF instance resource. ... Pre-conditions: NFVO is subscribed to VNF Identifier Creation notifications - ... Reference: Clause 5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF instance resource has been created in "NOT_INSTANTIATED" state. diff --git a/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot index ed7885930..25a00fb90 100644 --- a/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot @@ -17,7 +17,7 @@ Delete VNF Instance Resource ... Test title: Delete VNF Instance workflow ... Test objective: The objective is to test the workflow for the deleteion of an existing VNF instance resource ... Pre-conditions: The VNF Instance resource is in NOT_INSTANTIATED state. NFVO is subscribed to VNF Identifier Creation notifications - ... Reference: Clause 5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF instance resource is deleted on the VNFM. diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot index a0e5e4502..bd8de2f33 100644 --- a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot @@ -12,7 +12,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF resource state is FINALLY_FAILED @@ -26,7 +26,7 @@ Post Fail operation task Conflict (Not-FAILED_TEMP) ... Test title: Post Fail operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Post Fail operation task Not Found ... Test title: Post Fail operation task Not Found ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is not supported ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -64,7 +64,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -76,7 +76,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -88,7 +88,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot index d022b69b5..3c779cd70 100644 --- a/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot @@ -17,7 +17,7 @@ Fail a VNF LCM Operation Workflow ... Test title: Fail a VNF LCM Operation Workflow ... Test objective: The objective is to test the workflow for a Fail VNF LCM Operation ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.4.16 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.16 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED state diff --git a/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot b/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot index 828dff8f2..e4dfffec3 100644 --- a/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot @@ -12,7 +12,7 @@ POST Heal a vnfInstance ... Test title: POST Heal a vnfInstance ... Test objective: The objective is to test that POST method heal a VNF instance ... Pre-conditions: the VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Heal a vnfInstance Not Found ... Test title: POST Heal a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Heal VNFInstance - Method not implemented ... Test title: GET Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Heal VNFInstance - Method not implemented ... Test title: PUT Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Heal VNFInstance - Method not implemented ... Test title: PATCH Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Heal VNFInstance - Method not implemented ... Test title: DELETE Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot index 96845cc4b..99013ed0c 100644 --- a/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot @@ -17,7 +17,7 @@ Heal a VNF Instance ... Test title: Heal a VNF Instance ... Test objective: The objective is to heal a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: Clause 5.4.9 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.9 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Heal a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state diff --git a/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot b/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot index 6bec315ef..3d6d1e068 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the Get individual subscription ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription deleted from VNFM @@ -72,7 +72,7 @@ GET Individual Subscription - Not Found ... Test title: GET Individual Subscription - Not Found ... Test objective: The objective is to test the retrieval of individual subscription fails when subscription is not present ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 423900cd7..4468cc358 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -16,7 +16,7 @@ Post Individual VNFInstance - Method not implemented ... Test title: Post Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Get Information about an individual VNF Instance ... Test title: Get Information about an individual VNF Instance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ PUT Individual VNFInstance - Method not implemented ... Test title: PUT Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ PATCH Individual VNFInstance ... Test title: PATCH Individual VNFInstance ... Test objective: This method modifies an individual VNF instance resource ... Pre-conditions: an existing VNF instance resource - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNFInstance modified @@ -67,7 +67,7 @@ PATCH Individual VNFInstance Precondition failed ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to test that modification of a VNF instance resource fails when a precondition given in an HTTP request header is not fulfilled due to an ETag mismatch ... Pre-conditions: an existing VNF instance resource - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ PATCH Individual VNFInstance Conflict ... Test title: PATCH Individual VNFInstance Conflict ... Test objective: The objective is to test the conflict while modifying a VNF instance resource ... Pre-conditions: another LCM operation is ongoing - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNFInstance not modified @@ -93,7 +93,7 @@ DELETE Individual VNFInstance ... Test title: DELETE Individual VNFInstance ... Test objective: The objective is to delete a VNF instance ... Pre-conditions: the VNF instance resource is existing - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNFInstance deleted @@ -105,7 +105,7 @@ DELETE Individual VNFInstance Conflict ... Test title: DELETE Individual VNFInstance Conflict ... Test objective: The objective is to verify that the deletion cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: Resources are not deleted @@ -119,7 +119,7 @@ Get Information about an individual VNF Instance - Not Found ... Test title: Get Information about an individual VNF Instance - Not Found ... Test objective: The objective is to test that the retrieval of an individual VNF Instance fails when instance is not present. ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot index b795a2f63..b735bc318 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot - Method not implemented ... Test title: POST Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an individual VNF Snapshot - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot fails when using an invalid resource identifier. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNF Snapshot - Method not implemented ... Test title: PUT Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF Snapshot not modified @@ -57,7 +57,7 @@ PATCH Individual VNF Snapshot - Success ... Test title: PATCH Individual VNF Snapshot - Success ... Test objective: The objective is to test that PATCH method successfully modifies an individual VNF Snapshot resource ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF Snapshot modified @@ -70,7 +70,7 @@ PATCH Individual VNF Snapshot - Conflict ... Test title: PATCH Individual VNF Snapshot - Success ... Test objective: The objective is to test that PATCH method cannot modify an individual VNF Snapshot resource due to the fact that another modification is ongoing. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The Individual VNF Snapshot resource is currently being modified due to an underlying VNF snapshot operation. ... Post-Conditions: none @@ -83,7 +83,7 @@ PATCH Individual VNF Snapshot - Precondition Failed ... Test title: PATCH Individual VNF Snapshot - Precondition Failed ... Test objective: The objective is to that the modification of individual VNF Snapshot fails because precondition given in an HTTP request header is not fulfilled due to an ETag mismatch. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF snapshot is not modified @@ -96,7 +96,7 @@ DELETE Individual VNF Snapshot ... Test title: DELETE Individual VNF Snapshot ... Test objective: The objective is to delete a VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF Snapshot deleted @@ -109,7 +109,7 @@ DELETE Individual VNF Snapshot - Conflict ... Test title: DELETE Individual VNF Snapshot Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF Snapshot resource. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNF snapshot is in use by some operation such as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 30880414a..75435c707 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -11,7 +11,7 @@ Post Individual VNF LCM Operation occurrences - Method not implemented ... Test title: Post Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Individual VNF LCM Operation occurrences ... Test title: Get Individual VNF LCM Operation occurrences ... Test objective: The objective is to test that this method retrieve information about a VNF lifecycle management operation occurrence ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Individual VNF LCM Operation occurrences - Method not implemented ... Test title: PUT Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test title: PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test title: DELETE Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ Get Individual VNF LCM Operation occurrences - Not Found ... Test title: Get Individual VNF LCM Operation occurrences - Not Found ... Test objective: The objective is to test that the retrieval of VNF lifecycle management operation occurrence fails when instance is not present. ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot index a585e8e25..1b6aac308 100644 --- a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot @@ -13,7 +13,7 @@ Instantiate a vnfInstance ... Test title: Post Instantiate Individual VNFInstance ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: VNF instance resource is in NOT INSTANTIATED state - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Instantiate a vnfInstance Conflict ... Test title: Post Instantiate Individual VNFInstance ... Test objective: The objective is to verify that the instantiation of the vnf cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Instantiate VNFInstance - Method not implemented ... Test title: GET Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Instantiate VNFInstance - Method not implemented ... Test title: PUT Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Instantiate VNFInstance - Method not implemented ... Test title: PATCH Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Instantiate VNFInstance - Method not implemented ... Test title: DELETE Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot index aa099c10c..11f10c55f 100644 --- a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot @@ -20,7 +20,7 @@ VNF Instantiation ... Test title: VNF Instantiation workflow ... Test objective: The objective is to test the workflow for the instantiation of a VNF instance ... Pre-conditions: VNF instance resources is already created. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.4.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: VNF instance in INSTANTIATED state diff --git a/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot index bd5201f81..f73361df7 100644 --- a/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot @@ -17,7 +17,7 @@ Modify info of a VNF Instance ... Test title: Update information about a VNF instance ... Test objective: The objective is to update information about a VNF instance. ... Pre-conditions: VNF instance is created - ... Reference: Clause 5.3.6 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.6 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Update information of a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance info is updated diff --git a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot index bceddd474..41d757d76 100644 --- a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF LCM Operation Occurrence Notification ... Test title: VNF LCM Operation Occurrence Notification ... Test objective: The objective is to test that the POST request triggers VNF LCM Operation Occurrence Notification. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test that the POST request triggers VNF Identifier Creation Notification. ... Pre-conditions: A subscription for VNF identifier creation cotification is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test that the POST request triggers VNF Identifier Deletion Notification. ... Pre-conditions: A subscription for VNF identifier deletion notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/Notifications.robot b/SOL003/VNFLifecycleManagement-API/Notifications.robot index b98745d5d..d6f13c801 100644 --- a/SOL003/VNFLifecycleManagement-API/Notifications.robot +++ b/SOL003/VNFLifecycleManagement-API/Notifications.robot @@ -13,7 +13,7 @@ VNF LCM Operation Occurrence Start Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ VNF LCM Operation Occurrence Result Notification ... Test title: VNF LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot index b932ff445..b4f5d6b76 100644 --- a/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot @@ -14,7 +14,7 @@ POST Operate a vnfInstance ... Test title: POST Operate a vnfInstance ... Test objective: The objective is to test that POST method operate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Operate a vnfInstance Not Found ... Test title: POST Operate a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing ... Pre-conditions: the VNF instance resource is in not existing - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Operate VNFInstance - Method not implemented ... Test title: GET Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Operate VNFInstance - Method not implemented ... Test title: PUT Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Operate VNFInstance - Method not implemented ... Test title: PATCH Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Operate VNFInstance - Method not implemented ... Test title: DELETE Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot index e444b92cf..b95a933d1 100644 --- a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot @@ -18,7 +18,7 @@ Operate a VNF Instance ... Test title: Operate a VNF Instance ... Test objective: The objective is to test the workflow of operational change of a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: change the operational state of a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and the operational state is changed diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot index b63abe4bf..ee22bff8d 100644 --- a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot @@ -15,7 +15,7 @@ Post Retry operation task ... Test title: Post Retry operation task ... Test objective: The objective is to test that POST method The POST method initiates retrying a VNF lifecycle operation if the operation is in FAILED_TEMP state ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Post Retry operation task Conflict (Not-FAILED_TEMP) ... Test title: Post Retry operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that the retry operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. (i.e. the VNF instance resource is not in FAILED_TEMP state) ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Post Retry operation task Not Found ... Test title: Post Retry operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.14.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot index e91d5d32e..fe17ac256 100644 --- a/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot @@ -15,7 +15,7 @@ Retry VNF LCM Operation - Successful ... Test title: Retry VNF LCM Operation - Successful ... Test objective: The objective is to test the workflow for a successful Retry VNF LCM Operation and the status notifications ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in COMPLETED state @@ -30,7 +30,7 @@ Retry VNF LCM Operation - Unsuccessful ... Test title: Retry VNF LCM Operation - Unsuccessful ... Test objective: The objective is to test the workflow for an unsuccesful Retry VNF LCM Operation and the status notifications ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot b/SOL003/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot index 05176938c..684d209d6 100644 --- a/SOL003/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot +++ b/SOL003/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Revert to VNF Snapshot Task ... Test title: POST Revert to VNF Snapshot Task ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Revert to VNF Snapshot Task - NOT FOUND ... Test title: POST Revert to VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Revert to VNF Snapshot Task - CONFLICT ... Test title: POST Revert to VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Revert to VNF Snapshot Task - Method not implemented ... Test title: GET Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Revert to VNF Snapshot Task - Method not implemented ... Test title: PUT Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Revert to VNF Snapshot Task - Method not implemented ... Test title: PATCH Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Revert to VNF Snapshot Task - Method not implemented ... Test title: DELETE Revert to sVNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot index 05ffd4271..4663ee9d0 100644 --- a/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot @@ -17,7 +17,7 @@ Rollback a VNF LCM Operation - Successful ... Test title: Rollback VNF LCM Operation - Successful ... Test objective: The objective is to test the workflow for a Rolling Back a VNF LCM Operation and the operation is successful ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.3.11 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.11 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in ROLLED_BACK state @@ -32,7 +32,7 @@ Rollback VNF LCM Operation - Unsuccessful ... Test title: Rollback VNF LCM Operation - Unsuccessful ... Test objective: The objective is to test the workflow for a Rollback VNF LCM Operation and the operation is not successful ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot index 21b085bff..c04eb3d68 100644 --- a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot @@ -14,7 +14,7 @@ Post Rollback operation task ... Test title: Post Rollback operation task ... Test objective: The objective is to test that POST method initiates rollback on a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method initiates a rollback on a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot index b9029a584..d7b393349 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -13,7 +13,7 @@ POST Scale a vnfInstance ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the scale operation cannot be executed ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed currently, because the VNF instance resource is not found. ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Scale VNFInstance - Method not implemented ... Test title: GET Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Scale VNFInstance - Method not implemented ... Test title: PUT Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Scale VNFInstance - Method not implemented ... Test title: PATCH Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Scale VNFInstance - Method not implemented ... Test title: DELETE Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 427d6cf6a..67f9701de 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the scale operation cannot be executed because the resource is not instantiated ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Scale a vnfInstance Not Found ... Test title: Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed , because the VNF instance resource cannot be found. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Scale to level VNFInstance - Method not implemented ... Test title: GET Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Scale to level VNFInstance - Method not implemented ... Test title: PUT Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Scale to level VNFInstance - Method not implemented ... Test title: PATCH Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Scale to level VNFInstance - Method not implemented ... Test title: DELETE Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot index abf90db5a..c40f38882 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot @@ -15,7 +15,7 @@ VNF Instance Scale To Level ... Test title: VNF Instance Scale To Level workflow ... Test objective: The objective is to test the workflow for the scale to level of a VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state . NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: Clause 5.4.6 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.6 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Scale operation is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and VNF is scaled to the new level diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot index 468a7dff0..9474122fe 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot @@ -15,7 +15,7 @@ VNF Instance Scale Out ... Test title: VNF Instance Scale Out workflow ... Test objective: The objective is to test the workflow for the scaling out a VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state (Test ID 5.4.4.1). NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID 5.4.20.1) - ... Reference: Clause 5.4.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Scale operation is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and VNF is scaled out diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot index 6f7b8b830..b4c044376 100644 --- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The POST method creates a new subscription ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -28,7 +28,7 @@ Create a new Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The objective is to test request to create a duplicate (same callbackurl and filter) subscription ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: duplication is supported by SUT ... Post-Conditions: in response header Location shall not be null @@ -41,7 +41,7 @@ Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The objective is to test the request that does not create a duplicate (same callbackurl and filter) subscription ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: duplication is not supported by SUT ... Post-Conditions: in response header Location shall not be null @@ -54,7 +54,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Subscription - Filter ... Test title: GET Subscriptions - Filter ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using an invalid filter ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -138,7 +138,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -150,7 +150,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -162,7 +162,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ GET Subscriptions as a Paged Response ... Test title: GET Subscriptions as a Paged Response ... Test objective: The objective is Get the list of active subscriptions as a Paged Response. ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscriptions resources ... Post-Conditions: none @@ -187,7 +187,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of the list of active subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -213,7 +213,7 @@ GET Subscriptions as a Paged Response with nextpage_opauque_marker parameter ... Test title: GET Subscriptions as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to Get the list of active subscriptions as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving subscriptions as a paged response has been successfully issued (Test ID 7.3.1.17.14) - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscriptions resources ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot index c36856c50..beec47c69 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,7 +13,7 @@ POST Terminate a vnfInstance ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the vnf Instance cannot be terminated ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Terminate VNFInstance - Method not implemented ... Test title: GET Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Terminate VNFInstance - Method not implemented ... Test title: PUT Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Terminate VNFInstance - Method not implemented ... Test title: PATCH Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Terminate VNFInstance - Method not implemented ... Test title: DELETE Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot index 54a4c1e75..313749ef8 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot @@ -15,7 +15,7 @@ Terminate a VNF Instance ... Test title: Terminate a VNF Instance ... Test objective: The objective is to terminate a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. ... Post-Conditions: VNF instance in NOT_INSTANTIATED state diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot index 58f002bed..4a22f5ba4 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot @@ -13,7 +13,7 @@ POST Create a new vnfInstance ... Test title: POST Create a new vnfInstance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF instance created @@ -26,7 +26,7 @@ GET information about multiple VNF instances ... Test title: GET information about multiple VNF instances ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,8 +38,8 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based [Documentation] Test ID: 7.3.1.1.3 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute-based filtering parameters - ... Pre-conditions: A VNF is instantiated, a bad filter selector (filter selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.3.1). - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Pre-conditions: A VNF is instantiated, a bad filter selector (filter selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.5.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,8 +52,8 @@ GET information about multiple VNF instances Bad Request Invalid attribute selec [Documentation] Test ID: 7.3.1.1.4 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute selector - ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.3.1). - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.5.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ GET information about multiple VNF instances with "all_fields" attribute selecto ... Test title: GET information about multiple VNF instances with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ GET information about multiple VNF instances with "exclude_default" attribute se ... Test title: GET information about multiple VNF instances with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ GET information about multiple VNF instances with "fields" attribute selector ... Test title: GET information about multiple VNF instances with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF instances with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ PUT multiples VNFInstances - Method not implemented ... Test title: PUT multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ PATCH multiples VNFInstances - Method not implemented ... Test title: PATCH multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ DELETE VNFInstances - Method not implemented ... Test title: DELETE multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ GET information about multiple VNF instances to get Paged Response ... Test title: GET information about multiple VNF instances to get Paged Response ... Test objective: The objective is to query information about multiple VNF instances to get Paged Response. ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscriptions resources ... Post-Conditions: none @@ -167,7 +167,7 @@ GET information about multiple VNF instances as a Paged Response with nextpage_o ... Test title: GET information about multiple VNF instances as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about multiple VNF instances as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving multiple VNF instances as a paged response has been successfully issued (Test ID 7.3.1.1.12) - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF instance resources ... Post-Conditions: none @@ -178,8 +178,8 @@ GET information about multiple VNF instances - Bad Request Response too Big [Documentation] Test ID: 7.3.1.1.13 ... Test title: GET information about multiple VNF instances - Bad Request Response too Big ... Test objective: The objective is to query information about multiple VNF instances fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. - ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.3.1). - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v3.5.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ GET information about multiple VNF instances with "exclude_default" and "fields" ... Test title: GET information about multiple VNF instances with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -205,7 +205,7 @@ POST Create a new vnfInstance - Unprocessible Entity ... Test title: POST Create a new vnfInstance - Unprocessible Entity ... Test objective: The objective is to test that correct error code is returned when VNF package referenced by the "vnfdId" attribute in the "CreateVnfRequest" structure is not in the "ENABLED" state or does not exist. ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNF package referenced by the "vnfdId" attribute in the "CreateVnfRequest" structure is not in the "ENABLED" state or does not exist. ... Post-Conditions: none @@ -218,7 +218,7 @@ GET information about multiple VNF instances using Filter ... Test title: GET information about multiple VNF instances using Filter ... Test objective: The objective is to query information about multiple VNF instances using filter ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot b/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot index b18ff99fd..f28911eaf 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot @@ -7,7 +7,7 @@ POST Create a new VNF Snapshot ... Test title: POST Create a new VNF Snapshot ... Test objective: The objective is to create a new VNF snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF snapshot is created @@ -21,7 +21,7 @@ GET information about multiple VNF Snapshots ... Test title: GET information about multiple VNF Snapshots ... Test objective: The objective is to get information about multiples VNF snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -34,7 +34,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -47,7 +47,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ GET information about multiple VNF Snapshots with "all_fields" attribute selecto ... Test title: GET information about multiple VNF Snapshots with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ GET information about multiple VNF Snapshots with "exclude_default" attribute se ... Test title: GET information about multiple VNF Snapshots with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET information about multiple VNF Snapshots with "fields" attribute selector ... Test title: GET information about multiple VNF Snapshots with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ GET information about multiple VNF Snapshots with "exclude_default" and "fields" ... Test title: GET information about multiple VNF Snapshots with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ GET information about multiple VNF Snapshots with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF Snapshots with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -125,7 +125,7 @@ GET VNF Snapshots - Bad Request Response too Big ... Test title: GET VNF Snapshots - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshots list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNFM does not support paged response. ... Post-Conditions: none @@ -138,7 +138,7 @@ GET VNF Snapshots as Paged Response ... Test title: GET VNF Snapshots as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshots as paged response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNFM supports paged response. ... Post-Conditions: none @@ -151,7 +151,7 @@ PUT VNF Snapshots - Method not implemented ... Test title: PUT VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -163,7 +163,7 @@ PATCH VNF Snapshots - Method not implemented ... Test title: PATCH VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -175,7 +175,7 @@ DELETE VNF Snapshots - Method not implemented ... Test title: DELETE VNF Snapshots - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF instance not deleted @@ -187,7 +187,7 @@ GET information about multiple VNF Snapshots using Filter ... Test title: GET information about multiple VNF Snapshots using Filter ... Test objective: The objective is to get information about multiples VNF snapshots using filter ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/VNFStateSnapshot.robot b/SOL003/VNFLifecycleManagement-API/VNFStateSnapshot.robot index 6556cef27..6d9a451ad 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFStateSnapshot.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFStateSnapshot.robot @@ -7,7 +7,7 @@ POST VNF State Snapshot - Method not implemented ... Test title: POST VNF State Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET VNF State Snapshot - Complete File ... Test title: GET Information about an individual VNF State Snapshot - Complete File ... Test objective: The objective is to fetch the whole content of a VNF State Snapshot using GET method. ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET VNF State Snapshot - Partial Content ... Test title: GET VNF State Snapshot - Partial Content ... Test objective: The objective is to fetch partial content of a VNF State Snapshot by sending a range request using GET method. ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNFM supports range requests ... Post-Conditions: none @@ -46,7 +46,7 @@ GET VNF State Snapshot - Range Request Not Supported ... Test title: GET VNF State Snapshot - Range Request Not Supported ... Test objective: The objective is to test that the whole content of a VNF State Snapshot is delivered even with a range request when VNFM does not support range requests. ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNFM does not support range requests ... Post-Conditions: none @@ -60,7 +60,7 @@ GET VNF State Snapshot - Range Not Satisfiable ... Test title: GET VNF State Snapshot - Range Not Satisfiable ... Test objective: The objective is to test that an error is returned when the byte range passed in the "Range" header does not match any available byte range in the VNF State Snapshot package file. ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: VNFM supports range requests ... Post-Conditions: none @@ -72,7 +72,7 @@ GET VNF State Snapshot - Conflict ... Test title: GET VNF State Snapshot - Conflict ... Test objective: The objective is to test that an error is returned when there is a conflict with the state of the VNF snapshot resource. ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: Typically, this is due to the fact that the VNF snapshot creation process is not completed. ... Post-Conditions: none @@ -84,7 +84,7 @@ PUT VNF State Snapshot - Method not implemented ... Test title: PUT VNF State Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF State Snapshot Package not modified @@ -96,7 +96,7 @@ PATCH VNF State Snapshot - Method Not implemented ... Test title: PATCH VNF State Snapshot ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ DELETE VNF State Snapshot - Method Not implemented ... Test title: DELETE VNF State Snapshot - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.25.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.25.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index 267512666..dc1fb8e48 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -11,7 +11,7 @@ POST VNF LCM Operation occurrences - Method not implemented ... Test title: POST VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET status information about multiple VNF LCM Operation OCC ... Test title: GET status information about multiple VNF LCM Operation OCC ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ GET status information about multiple VNF LCM Operation OCC Bad Request Invalid ... Test title: GET status information about multiple VNF LCM Operation OCC Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ GET status information about multiple VNF LCM Operation OCC Bad Request Invalid ... Test title: GET status information about multiple VNF LCM Operation OCC Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ GET status information about multiple VNF LCM Operation OCC with "exlude_default ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ GET status information about multiple VNF LCM Operation OCC with "fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_fields ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ PUT status information about multiple VNF LCM Operation OCC - Method not impleme ... Test title: PUT status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ PATCH status information about multiple VNF LCM Operation OCC - Method not imple ... Test title: PATCH status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -138,7 +138,7 @@ DELETE status information about multiple VNF LCM Operation OCC - Method not impl ... Test title: DELETE status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -150,7 +150,7 @@ GET status information about multiple VNF LCM Operation OCC to get Paged Respons ... Test title: GET status information about multiple VNF LCM Operation OCC to get Paged Response ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences to get a Paged Response. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF lifecycle management operation occurrences resources ... Post-Conditions: none @@ -163,7 +163,7 @@ GET information about multiple VNF LCM Operation OCC as a Paged Response with ne ... Test title: GET information about multiple VNF LCM Operation OCC as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about multiple VNF lifecycle management operation occurrences as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving multiple VNF lifecycle management operation occurrences as a paged response has been successfully issued (Test ID 7.3.1.11.12) - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF lifecycle management operation occurrences resources ... Post-Conditions: none @@ -175,7 +175,7 @@ GET status information about multiple VNF LCM Operation OCC - Bad Request Respon ... Test title: GET status information about multiple VNF LCM Operation OCC - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -188,7 +188,7 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_defaul ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" and "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From e899c6765e5156c97e17119225633f6b545dbcee Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:23:32 +0200 Subject: [PATCH 116/211] updated SOL003 VNF LCM schemas to v3.5.1 --- .../schemas/VnfLcmOpOcc.schema.json | 462 ++-- .../schemas/VnfLcmOpOccs.schema.json | 1669 ++++++------ ...perationOccurrenceNotification.schema.json | 1334 ++++++---- .../schemas/vnfInstance.schema.json | 648 +++-- .../schemas/vnfInstances.schema.json | 2305 ++++++++--------- 5 files changed, 3270 insertions(+), 3148 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOcc.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOcc.schema.json index 42324ff09..94b41f03d 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOcc.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOcc.schema.json @@ -1,27 +1,12 @@ { - "description": "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.\n", + "description": "This type represents a VNF lifecycle management operation occurrence. It shall comply with the provisions defined in table 5.5.2.13-1.\nNOTE 1:\tThis allows the NFVO to obtain the information contained in the latest \n \"result\" notification if it has not received it due to an error or a \n wrongly configured subscription filter.\nNOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange \n shall be present.\nNOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" \n entries as needed for signalling the different types of changes, i.e. one \n per virtual link and change type. For instance, in the case of signaling \n affected VL instances involving the addition of a particular VL instance \n with links ports, one \"AffectedVirtualLink\" entry signals the addition of \n the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure \n equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition \n of externally visible VNF link ports of the VL by using the \"changeType\" equal \n to \"LINK_PORT_ADDED\".\nNOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the \n \"Individual coordination action\" resource within a timeout interval after requesting \n the coordination to be started or to be cancelled. The length of the timeout interval \n is defined by means outside the scope of the present document.\nNOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation\n occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n", "type": "object", "oneOf": [{ - "required": [ - "changedInfo" - ] - }, - { - "required": [ - "modificationsTriggeredByVnfPkgChange" - ] - } - ], - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "isCancelPending" - ], + "required": ["changedInfo"] + }, { + "required": ["modificationsTriggeredByVnfPkgChange"] + }], + "required": ["id", "operationState", "stateEnteredTime", "startTime", "vnfInstanceId", "operation", "isAutomaticInvocation", "isCancelPending"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -30,15 +15,7 @@ "operationState": { "description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] + "enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] }, "stateEnteredTime": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", @@ -59,29 +36,16 @@ "type": "string" }, "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "description": "The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO", - "CREATE_SNAPSHOT", - "REVERT_TO_SNAPSHOT", - "CHANGE_VNFPKG" - ] + "enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO", "CREATE_SNAPSHOT", "REVERT_TO_SNAPSHOT", "CHANGE_VNFPKG"] }, "isAutomaticInvocation": { "description": "The Boolean is a data type having two values (true and false).\n", "type": "boolean" }, "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply.\nThe following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", "type": "object" }, "isCancelPending": { @@ -91,21 +55,15 @@ "cancelMode": { "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] + "enum": ["GRACEFUL", "FORCEFUL"] }, "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", "type": "object", - "required": [ - "status", - "detail" - ], + "required": ["status", "detail"], "properties": { "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, @@ -133,17 +91,12 @@ "type": "object", "properties": { "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about VNFC instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", + "description": "This type provides information about added, deleted, modified and temporary VNFCs. It shall comply with the provisions in table 5.5.3.13-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer \n (i.e. the NFVO) to assist in correlating the resource changes performed during \n the LCM operation with the granted resources in a specific Grant exchange, which \n is identified by the \"grantId\" available in the \"Individual VNF lifecycle management \n operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], + "required": ["id", "vduId", "changeType", "computeResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -160,17 +113,10 @@ "changeType": { "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"] }, "computeResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -232,17 +178,12 @@ } }, "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", + "description": "Information about VL instances that were affected during the lifecycle operation. See notes 1 and 3.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n instance, not the link port instance. The resource handles of the affected VNF link ports can be \n found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "changeType", - "networkResource" - ], + "required": ["id", "vnfVirtualLinkDescId", "changeType", "networkResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -257,21 +198,12 @@ "type": "string" }, "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "description": "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. See note 1.\n", "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY", "LINK_PORT_ADDED", "LINK_PORT_REMOVED"] }, "networkResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -294,7 +226,7 @@ } }, "vnfLinkPortIds": { - "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\" structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note 1.\n", "type": "array", "items": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -317,17 +249,12 @@ } }, "affectedExtLinkPorts": { - "description": "Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about external VNF link ports that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { - "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", + "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links). It shall comply with the provisions in table 5.5.3.14a-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n in the \"Individual Grant\".\n", "type": "object", - "required": [ - "id", - "changeType", - "extCpInstanceId", - "resourceHandle" - ], + "required": ["id", "changeType", "extCpInstanceId", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -336,19 +263,14 @@ "changeType": { "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n", "type": "string", - "enum": [ - "ADDED", - "REMOVED" - ] + "enum": ["ADDED", "REMOVED"] }, "extCpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -378,17 +300,12 @@ } }, "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources. It shall comply with the provisions in table 5.5.3.15-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], + "required": ["id", "virtualStorageDescId", "changeType", "storageResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -405,17 +322,10 @@ "changeType": { "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"] }, "storageResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -455,7 +365,7 @@ } }, "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. The \"VnfInfoModifications\" data type shall comply with the provisions defined in table 5.5.2.12a-1.\nNOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) \n was modified implicitly following a request to modify the \"vnfdId\" attribute, by \n copying the value of this attribute from the VNFD in the VNF Package identified by \n the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfInstanceName": { @@ -482,11 +392,9 @@ "description": "If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", "type": "object", "additionalProperties": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM.\n", "type": "object", - "required": [ - "vimType" - ], + "required": ["vimType"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -533,25 +441,48 @@ } } }, + "affectedVipCps": { + "description": "Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified virtual IP CP instances.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId", "changeType"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n", + "type": "string", + "enum": ["ADDED", "REMOVED", "MODIFIED"] + } + } + } + }, "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about changed external connectivity, if applicable. See note 1.\n", "type": "array", "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], + "required": ["id", "resourceHandle", "currentVnfExtCpData"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -577,21 +508,16 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -616,40 +542,40 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", - "required": [ - "cpdId" - ], + "required": ["cpdId"], "properties": { "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], "type": "object", "properties": { "parentCpConfigId": { @@ -660,82 +586,67 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["ipAddressRange"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -744,16 +655,13 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -789,7 +697,7 @@ } }, "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 5.5.3.21-1.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfConfigurableProperties": { @@ -809,11 +717,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -830,20 +738,94 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "coordinationActionName", "startTime", "endpointType"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": ["CONTINUE", "ABORT", "CANCELLED"] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n", + "type": "string", + "enum": ["MGMT", "VNF"] + } + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) that were rejected by 503 error which means they can be tried again after a delay. See note 5.\n", + "type": "array", + "items": { + "type": "object", + "required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n", + "type": "string", + "enum": ["MGMT", "VNF"] + } + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self", - "vnfInstance" - ], + "required": ["self", "vnfInstance"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -854,9 +836,7 @@ "vnfInstance": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -867,9 +847,7 @@ "grant": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -880,9 +858,7 @@ "cancel": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -893,9 +869,7 @@ "retry": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -906,9 +880,7 @@ "rollback": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -919,9 +891,7 @@ "fail": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -932,9 +902,7 @@ "vnfSnapshot": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOccs.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOccs.schema.json index 2492e0eee..24e65a165 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOccs.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOccs.schema.json @@ -1,597 +1,420 @@ { - "type": "array", - "items": - { - "description": "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.\n", - "type": "object", - "oneOf": [{ - "required": [ - "changedInfo" - ] - }, - { - "required": [ - "modificationsTriggeredByVnfPkgChange" - ] - } - ], - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO", - "CREATE_SNAPSHOT", - "REVERT_TO_SNAPSHOT", - "CHANGE_VNFPKG" - ] - }, - "isAutomaticInvocation": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" - }, - "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", - "type": "object" - }, - "isCancelPending": { - "description": "The Boolean is a data type having two values (true and false).\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } + "type": "array", + "items": { + "description": "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.\n", + "type": "object", + "oneOf": [{ + "required": [ + "changedInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { + ], + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "vnfInstanceId", + "operation", + "isAutomaticInvocation", + "isCancelPending" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "STARTING", + "PROCESSING", + "COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "grantId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operation": { + "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO", + "CREATE_SNAPSHOT", + "REVERT_TO_SNAPSHOT", + "CHANGE_VNFPKG" + ] + }, + "isAutomaticInvocation": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "operationParams": { + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", + "type": "object" + }, + "isCancelPending": { + "description": "The Boolean is a data type having two values (true and false).\n", + "type": "boolean" + }, + "cancelMode": { + "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", + "type": "string", + "enum": [ + "GRACEFUL", + "FORCEFUL" + ] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", + "type": "object", + "properties": { + "affectedVnfcs": { + "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", + "type": "object", + "required": [ + "id", + "vduId", + "changeType", + "computeResource" + ], + "properties": { + "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } } - } - }, - "vnfLinkPortIds": { - "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a VNF descriptor.\n", + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", "type": "string" - } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "affectedExtLinkPorts": { - "description": "Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", - "type": "object", - "required": [ - "id", - "changeType", - "extCpInstanceId", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED" - ] - }, - "extCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "affectedVnfcCpIds": { + "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + } + }, + "addedStorageResourceIds": { + "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + } + }, + "removedStorageResourceIds": { + "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" } } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + }, + "affectedVirtualLinks": { + "description": "Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "changeType", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPortIds": { + "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "object", - "additionalProperties": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "vimType" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "vnfProductName": { - "description": "A string defined in IETF RFC 8259.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" + "affectedExtLinkPorts": { + "description": "Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", + "type": "object", + "required": [ + "id", + "changeType", + "extCpInstanceId", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED" + ] + }, + "extCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + } } } }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", + "affectedVirtualStorages": { + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", "type": "object", "required": [ "id", - "resourceHandle" + "virtualStorageDescId", + "changeType", + "storageResource" ], "properties": { "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "storageResource": { "required": [ "resourceId" ], @@ -616,163 +439,340 @@ } } }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } } } + } + } + }, + "changedInfo": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "type": "object", + "properties": { + "vnfInstanceName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "vnfInstanceDescription": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "vimConnectionInfo": { + "description": "If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", "type": "object", "required": [ - "cpdId" + "vimType" ], "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } + "vimType": { + "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extra": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfProductName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" ], "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "linkPortId": { + "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created from a CPD.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "anyOf": [{ "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "ipAddressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" } } } @@ -789,164 +789,163 @@ } } } - } - }, - "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", - "type": "object", - "properties": { - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + } } - } - }, - "vnfSnapshotInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "vnfSnapshotInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "vnfInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "vnfInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "grant": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "grant": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "cancel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "cancel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "retry": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "retry": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "rollback": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "rollback": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "fail": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "fail": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "vnfSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "vnfSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } } } } - } } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json index bf0bfcd30..7a92762a3 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json @@ -1,568 +1,768 @@ { - "description": "This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the state of a VNF LCM operation occurrence that changes the VNF lifecycle, which represents an occurrence of one the following LCM operations: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) * Change of the state of the VNF instance (i.e. Operate VNF) * Change of the deployment flavour of the VNF instance * Change of the external connectivity of the VNF instance * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable\n properties through the \"PATCH\" method on the \"Individual VNF instance\"\n resource.\nClause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, and also specifies details of the notifications to be emitted at each state transition. If this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the \"start\" notification, the grant request and the LCM operation acknowledgment (i.e. the \"202 Accepted\" response) can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the \"Individual VNF LCM operation occurrence\" resource before the notification about the state change is sent. See clause 5.6.2.2 for further provisions regarding sending this notification, including in cases of handling LCM operation errors.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "notificationStatus", - "operationState", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "vnfLcmOpOccId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"VnfLcmOperationOccurrenceNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "notificationStatus": { - "description": "Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation. Permitted values: * START: Informs about the start of the VNF LCM operation\n occurrence.\n* RESULT: Informs about the final or intermediate result of the VNF\n LCM operation occurrence.\n", - "type": "string", - "enum": [ - "START", - "RESULT" - ] - }, - "operationState": { - "description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "resourceDefinitionId": { - "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId\" attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId\" attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfcInfoModifications": { - "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", - "type": "array", - "items": { - "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. It shall comply with the provisions defined in table 5.5.3.24-1.\n", - "type": "object", - "required": [ - "id", - "vnfcConfigurableProperties" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfcInfoModificationsDeleteIds": { - "description": "If present, this attribute signals the deletion of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the \"operation\" has made any changes to the external connectivity of the VNF instance. Shall be absent otherwise. Only information about external VL instances that have been added or modified shall be provided.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "description": "This type represents the links to resources that a notification can contain.\n", - "type": "object", - "required": [ - "vnfInstance", - "subscription" - ], - "properties": { - "vnfInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } + "description": "This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. It shall comply with the provisions defined in table 5.5.2.17-1. The support of the notification is mandatory. \nThis notification shall be triggered by the VNFM when there is a change in the state of a VNF LCM operation occurrence that changes the VNF lifecycle, which represents an occurrence of one the following LCM operations: - Instantiation of the VNF - Scaling of the VNF instance (including auto-scaling) - Healing of the VNF instance (including auto-healing) - Change of the state of the VNF instance (i.e. Operate VNF) - Change of the deployment flavour of the VNF instance - Change of the external connectivity of the VNF instance - Change of the current VNF package - Termination of the VNF instance - Modification of VNF instance information and/or VNF configurable properties through the \"PATCH\" \n method on the \"Individual VNF instance\" resource\n- Creation of a VNF snapshot - Reversion of the VNF instance to a VNF snapshot\nClause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, and also specifies details of the notifications to be emitted at each state transition. If this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the \"start\" notification, the grant request and the LCM operation acknowledgment (i.e. the \"202 Accepted\" response) can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the \"Individual VNF LCM operation occurrence\" resource before the notification about the state change is sent. The amount of information provided in the LCM operation occurrence notifications to be issued by the VNFM when a particular subscription matches can be controlled by the API consumer using the \"verbosity\" attribute in the subscription request (see clause 5.5.2.15). The \"verbosity\" setting in a particular individual subscription shall only apply to the LCM operation occurrence notifications triggered by that subscription. However, it shall not affect the amount of information in the \"VnfLcmOpOcc\" structure (see clause 5.5.2.13) which represents the \"Individual LCM operation occurrence\" resource associated with each of the notifications. See clause 5.6.2.2 for further provisions regarding sending this notification, including in cases of handling LCM operation errors.\nNOTE 1:\tShall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set to \"FULL\" \n and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains \n information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM \n operation occurrence and by any of the error handling procedures for that operation occurrence.\nNOTE 2:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling \n the different types of changes, i.e. one per virtual link and change type. For instance, in the case of signaling \n affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" \n entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \n \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of externally visible VNF link ports of the VL \n by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", + "type": "object", + "required": ["id", "notificationType", "subscriptionId", "timeStamp", "notificationStatus", "operationState", "vnfInstanceId", "operation", "isAutomaticInvocation", "vnfLcmOpOccId", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"VnfLcmOperationOccurrenceNotification\" for this notification type.\n", + "type": "string", + "enum": ["VnfLcmOperationOccurrenceNotification"] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notificationStatus": { + "description": "Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation. Permitted values: * START: Informs about the start of the VNF LCM operation occurrence.\n* RESULT: Informs about the final or intermediate result of the VNF LCM operation occurrence.\n", + "type": "string", + "enum": ["START", "RESULT"] + }, + "operationState": { + "description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operation": { + "description": "The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO", "CREATE_SNAPSHOT", "REVERT_TO_SNAPSHOT", "CHANGE_VNFPKG"] + }, + "isAutomaticInvocation": { + "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", + "type": "boolean" + }, + "verbosity": { + "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism.\n", + "type": "string", + "enum": ["FULL", "SHORT"] + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "affectedVnfcs": { + "description": "Information about VNFC instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VNFCs. It shall comply with the provisions in table 5.5.3.13-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer \n (i.e. the NFVO) to assist in correlating the resource changes performed during \n the LCM operation with the granted resources in a specific Grant exchange, which \n is identified by the \"grantId\" available in the \"Individual VNF lifecycle management \n operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", + "type": "object", + "required": ["id", "vduId", "changeType", "computeResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"] + }, + "computeResource": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "affectedVnfcCpIds": { + "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "addedStorageResourceIds": { + "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "removedStorageResourceIds": { + "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + }, + "affectedVirtualLinks": { + "description": "Information about VL instances that were affected during the lifecycle operation. See note 1 and note 2.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n instance, not the link port instance. The resource handles of the affected VNF link ports can be \n found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "changeType", "networkResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. See note 1.\n", + "type": "string", + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY", "LINK_PORT_ADDED", "LINK_PORT_REMOVED"] + }, + "networkResource": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\" structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "affectedExtLinkPorts": { + "description": "Information about external VNF link ports that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links). It shall comply with the provisions in table 5.5.3.14a-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n in the \"Individual Grant\".\n", + "type": "object", + "required": ["id", "changeType", "extCpInstanceId", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n", + "type": "string", + "enum": ["ADDED", "REMOVED"] + }, + "extCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "affectedVirtualStorages": { + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources. It shall comply with the provisions in table 5.5.3.15-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n", + "type": "object", + "required": ["id", "virtualStorageDescId", "changeType", "storageResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"] + }, + "storageResource": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "resourceDefinitionId": { + "description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n", + "type": "string" + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "changedInfo": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. The \"VnfInfoModifications\" data type shall comply with the provisions defined in table 5.5.2.12a-1.\nNOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) \n was modified implicitly following a request to modify the \"vnfdId\" attribute, by \n copying the value of this attribute from the VNFD in the VNF Package identified by \n the \"vnfdId\" attribute.\n", + "type": "object", + "properties": { + "vnfInstanceName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "vimConnectionInfo": { + "description": "If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM.\n", + "type": "object", + "required": ["vimType"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimType": { + "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extra": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfProductName": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + } + } + }, + "affectedVipCps": { + "description": "Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation, if this notification represents the result of a lifecycle management operation occurrence.\nShall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set to \"FULL\" and the operation has made any changes to the VIP CP instances of the VNF instance. Shall be absent otherwise. Only information about VIP CP instances that have been added, deleted or modified shall be provided.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified virtual IP CP instances.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId", "changeType"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n", + "type": "string", + "enum": ["ADDED", "REMOVED", "MODIFIED"] + } + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set to \"FULL\" and the operation has made any changes to the external connectivity of the VNF instance. Shall be absent otherwise. Only information about external VL instances that have been added or modified shall be provided.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": ["id", "resourceHandle", "currentVnfExtCpData"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["ipAddressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 5.5.3.21-1.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". See note 2.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". See note 2.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + } + } + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": ["vnfInstance", "subscription"], + "properties": { + "vnfInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json index da288dbf3..676fc6ee8 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json @@ -1,15 +1,7 @@ { - "description": "This type represents a VNF instance.\n", + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 5.5.2.2-1.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n respect to the previous VNFD in other aspects than merely referencing to other VNF software \n images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may \n depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState" - ], + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "instantiationState"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -51,11 +43,9 @@ "description": "Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n", "type": "object", "additionalProperties": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM.\n", "type": "object", - "required": [ - "vimType" - ], + "required": ["vimType"], "properties": { "vimId": { "description": "An identifier with the intention of being globally unique.\n", @@ -83,18 +73,12 @@ "instantiationState": { "description": "The instantiation state of the VNF.\n", "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] }, "instantiatedVnfInfo": { "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", "type": "object", - "required": [ - "flavourId", - "vnfState" - ], + "required": ["flavourId", "vnfState"], "properties": { "flavourId": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -103,19 +87,13 @@ "vnfState": { "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] + "enum": ["STARTED", "STOPPED"] }, "scaleStatus": { "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", "type": "array", "items": { - "required": [ - "aspectId", - "scaleLevel" - ], + "required": ["aspectId", "scaleLevel"], "type": "object", "properties": { "aspectId": { @@ -137,10 +115,7 @@ "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", "type": "array", "items": { - "required": [ - "aspectId", - "scaleLevel" - ], + "required": ["aspectId", "scaleLevel"], "type": "object", "properties": { "aspectId": { @@ -163,25 +138,16 @@ "type": "array", "minItems": 1, "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\n", "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], + "required": ["id", "cpdId", "cpConfigId", "cpProtocolInfo"], "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVipCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -203,44 +169,28 @@ "description": "Network protocol information for this CP.\n", "type": "array", "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", @@ -248,28 +198,23 @@ "format": "MAC" }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", "type": "string" }, "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -282,12 +227,9 @@ "type": "boolean" }, "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -322,12 +264,150 @@ "type": "object" }, "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } } } @@ -336,21 +416,16 @@ "description": "Information about the external VLs the VNF instance is connected to.\n", "type": "array", "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], + "required": ["id", "resourceHandle", "currentVnfExtCpData"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -376,21 +451,16 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -415,40 +485,40 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", - "required": [ - "cpdId" - ], + "required": ["cpdId"], "properties": { "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], "type": "object", "properties": { "parentCpConfigId": { @@ -459,82 +529,67 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["ipAddressRange"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -543,16 +598,13 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -588,15 +640,11 @@ } }, "extManagedVirtualLinkInfo": { - "description": "Information about the externally-managed internal VLs of the VNF instance.\nNOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.3).\n", + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 5 and note 6.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -611,9 +659,7 @@ "type": "string" }, "networkResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -639,20 +685,16 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -679,12 +721,17 @@ "type": "string" }, "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } @@ -701,10 +748,7 @@ "type": "array", "items": { "type": "object", - "required": [ - "id", - "performanceMetric" - ], + "required": ["id", "performanceMetric"], "properties": { "id": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -733,13 +777,9 @@ "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", "type": "array", "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. It shall comply with the provisions defined in table 5.5.3.5-1.\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n external CP information.\n", "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], + "required": ["id", "vduId", "computeResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -754,9 +794,7 @@ "type": "string" }, "computeResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -795,14 +833,11 @@ "type": "string" }, "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. See note 2. May be present otherwise.\n", "type": "array", "items": { "type": "object", - "required": [ - "id", - "cpdId" - ], + "required": ["id", "cpdId"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -817,47 +852,31 @@ "type": "string" }, "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", "type": "array", "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", "type": "object", - "required": [ - "layerProtocol" - ], + "required": ["layerProtocol"], "properties": { "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "enum": ["IP_OVER_ETHERNET"] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", @@ -865,28 +884,23 @@ "format": "MAC" }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", "type": "string" }, "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", "type": "array", "items": { "type": "object", - "required": [ - "type" - ], + "required": ["type"], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] + "enum": ["IPV4", "IPV6"] }, "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -899,12 +913,9 @@ "type": "boolean" }, "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], + "required": ["minAddress", "maxAddress"], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -941,6 +952,10 @@ } } }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", "type": "object" @@ -948,17 +963,13 @@ } } }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -973,9 +984,7 @@ "type": "string" }, "networkResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -1009,20 +1018,16 @@ "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", "type": "array", "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "required": ["id", "resourceHandle"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -1049,12 +1054,17 @@ "type": "string" }, "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } @@ -1072,11 +1082,7 @@ "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], + "required": ["id", "virtualStorageDescId", "storageResource"], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", @@ -1091,9 +1097,7 @@ "type": "string" }, "storageResource": { - "required": [ - "resourceId" - ], + "required": ["resourceId"], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { @@ -1137,21 +1141,17 @@ "type": "object" }, "extensions": { - "description": "Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n" + "description": "Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.\nThese attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations.\nAll extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See notes 2 and 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013.\nModifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.\nThese attributes can be initialized with default values from the VNFD (see note 4).\nThese attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure.\nFurther, these attributes can be created, modified or deleted with the PATCH method.\nIn addition, the provisions in clause 5.7 shall apply.\n" }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1162,9 +1162,7 @@ "indicators": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1175,9 +1173,7 @@ "instantiate": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1188,9 +1184,7 @@ "terminate": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1201,9 +1195,7 @@ "scale": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1214,9 +1206,7 @@ "scaleToLevel": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1227,9 +1217,7 @@ "changeFlavour": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1240,9 +1228,7 @@ "heal": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1253,9 +1239,7 @@ "operate": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1266,9 +1250,7 @@ "changeExtConn": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1279,9 +1261,7 @@ "createSnapshot": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -1292,9 +1272,7 @@ "revertToSnapshot": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json index 5ab222666..7373c031e 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json @@ -1,312 +1,254 @@ { - "type": "array", - "items": - { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "type": "array", + "items": { + "description": "This type represents a VNF instance. It shall comply with the provisions defined in table 5.5.2.2-1.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n respect to the previous VNFD in other aspects than merely referencing to other VNF software \n images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may \n depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "instantiationState"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "vimConnectionInfo": { + "description": "Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n", "type": "object", - "required": [ - "vimType" - ], + "additionalProperties": { + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM.\n", + "type": "object", + "required": ["vimType"], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimType": { + "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extra": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\n", + "type": "string", + "enum": ["NOT_INSTANTIATED", "INSTANTIATED"] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": ["flavourId", "vnfState"], "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", + "flavourId": { + "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "vnfState": { + "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", + "type": "string", + "enum": ["STARTED", "STOPPED"] }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": ["aspectId", "scaleLevel"], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", - "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], - "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\n", + "type": "object", + "required": ["id", "cpdId", "cpConfigId", "cpProtocolInfo"], + "oneOf": [{ + "required": ["associatedVnfcCpId"] + }, { + "required": ["associatedVipCpId"] + }, { + "required": ["associatedVnfVirtualLinkId"] + }], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" } } } @@ -314,264 +256,374 @@ } } } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": ["cpInstanceId", "cpdId"], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": ["id", "resourceHandle", "currentVnfExtCpData"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { + "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", "type": "string" } } - } - }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "linkPortId": { + "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": ["cpdId"], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [{ + "required": ["linkPortId"] + }, { + "required": ["cpProtocolData"] + }], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["fixedAddresses"] + }, { + "required": ["numDynamicAddresses"] + }, { + "required": ["ipAddressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": ["VLAN", "INHERIT"] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" } } } @@ -588,342 +640,301 @@ } } } - } - }, - "extManagedVirtualLinkInfo": { - "description": "Information about the externally-managed internal VLs of the VNF instance.\nNOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.3).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally-managed internal VLs of the VNF instance. See note 5 and note 6.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": ["resourceId"], "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" } } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "extManagedMultisiteVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } - }, - "extManagedMultisiteVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" + }, + "monitoringParameters": { + "description": "Active monitoring parameters.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "performanceMetric"], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } } } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. It shall comply with the provisions defined in table 5.5.3.5-1.\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n external CP information.\n", + "type": "object", + "required": ["id", "vduId", "computeResource"], + "properties": { + "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "computeResource": { + "required": ["resourceId"], "type": "object", - "required": [ - "id", - "cpdId" - ], + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. See note 2. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": ["id", "cpdId"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": ["layerProtocol"], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": ["IP_OVER_ETHERNET"] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "type": "object", + "anyOf": [{ + "required": ["macAddress"] + }, { + "required": ["ipAddresses"] + }], + "oneOf": [{ + "required": ["addresses"] + }, { + "required": ["addressRange"] + }], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": ["IPV4", "IPV6"] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": ["minAddress", "maxAddress"], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" } } } @@ -931,382 +942,348 @@ } } } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } + } + } + }, + "parentCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": ["id", "vnfVirtualLinkDescId", "networkResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": ["id", "resourceHandle"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": ["resourceId"], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": ["VNFC_CP", "EXT_CP"] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { + }, + "virtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": ["id", "virtualStorageDescId", "storageResource"], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "required": ["resourceId"], "type": "object", - "required": [ - "id", - "resourceHandle" - ], + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" } } + }, + "zoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.\nThese attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations.\nAll extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See notes 2 and 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013.\nModifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance.\nThese attributes can be initialized with default values from the VNFD (see note 4).\nThese attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure.\nFurther, these attributes can be created, modified or deleted with the PATCH method.\nIn addition, the provisions in clause 5.7 shall apply.\n" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], + "required": ["href"], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "href": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "zoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "indicators": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "instantiate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "instantiate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "terminate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "terminate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "scale": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "scale": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "scaleToLevel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "changeFlavour": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "heal": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "heal": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "operate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "operate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "changeExtConn": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "createSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "createSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "revertToSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "revertToSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } } } } - } } \ No newline at end of file -- GitLab From 5a134754eef2e1f1b2338e60d17db1a62f1b7660 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 15:27:23 +0200 Subject: [PATCH 117/211] updated SOL003 VNF LCM subscription --- .../VnfLcmMntOperationKeywords.robot | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index a4bd5d49a..ae0e906fb 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -1280,9 +1280,9 @@ Post Create subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify notification endpoint is tested + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content @@ -1300,9 +1300,9 @@ Post Create subscription - DUPLICATION Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify notification endpoint is tested + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content @@ -1320,10 +1320,10 @@ Post Create subscription - NO-DUPLICATION Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Log Verify notification endpoint is tested + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint - + Get subscriptions Log Get the list of active subscriptions Set Headers {"Accept":"${ACCEPT}"} -- GitLab From c55794d8eb36c84ac952aec71600e489b1992c40 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:22:10 +0200 Subject: [PATCH 118/211] Removing unused variables --- .../environment/variables.txt | 32 +------------------ 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/environment/variables.txt b/SOL003/VNFLifecycleManagement-API/environment/variables.txt index 2c277829e..2d5fe8ae5 100644 --- a/SOL003/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL003/VNFLifecycleManagement-API/environment/variables.txt @@ -19,16 +19,6 @@ ${VNFM_DUPLICATION} 0 ${invalid_etag} invalid etag -${NFVO_HOST} localhost # Hostname of the NFVO -${NFVO_PORT} 8081 # Listening port of the NFVO -${NFVO_SCHEMA} https -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX -${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT -${ACCEPT_PLAIN} text/plain -${ACCEPT_ZIP} application/zip -${ARTIFACT_TYPE} application/octet-stream -${ARTIFACT_ID} artifactId -${WRONG_ACCEPT} application/json ${SYNC_MODE} 0 ${nextPageUri} /someuri @@ -49,7 +39,6 @@ ${notInstantiatedVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${notExistingVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${conflictOperationVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfInstanceId_NoSnapshotTask} no-snapshot-task-supported ${vnfSnapshotInfoId} ${vnfSnapshotInfoId_InUse} snapshotId-of-a-resource-AlreadyInUse-bySomeOther-operation @@ -62,9 +51,6 @@ ${notExistingVnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${vnfLcmOpOccIdNotStartingProcessingRollingback} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${vnfLcmOpOccIdNotFailedTemp} 6fc3539c-e602-4afa-8e13-962fb5a7d81d -${VnfLcmOperationOccurrenceNotification} {} -${VnfIdentifierCreationNotification} {} -${VnfIdentifierDeletionNotification} {} ${response} {} ${json} {} ${requestedFlavour} test @@ -77,8 +63,6 @@ ${POS_FILTER_vnfLcmOpOcc} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Positi ${NEG_FILTER_vnfLcmOpOcc} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields_vnfInstance} vnfInstanceDescription,vimConnectionInfo -${POS_FILTER_vnfInstance} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Positive case, suing compiant fields name for filtering get request -${NEG_FILTER_vnfInstance} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${POS_FILTER_snapshot} id=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Positive case, suing compiant fields name for filtering get request ${NEG_FILTER_snapshot} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field @@ -86,11 +70,6 @@ ${fields_snapshot} vnfStateSnapshotInfo ${PAGING_SUPPORTED} 1 -${vnfInstanceName} Test-VnfInstance -${vnfInstanceDescription} description vnf -${vnfInstanceDescription_Update} Updated description vnf -${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c - ${changeVnfFlavourRequest} {} ${changeVnfOperateRequest} {} ${requestedState} test @@ -99,14 +78,9 @@ ${patchBodyRequest} {} ${callback_uri} http://localhost ${callback_port} 9091 -${callback_notification} /notification ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - ${notification_request} [] ${notification_response} [] @@ -130,11 +104,9 @@ ${stopType} FORCEFUL ${terminationType} GRACEFUL -${LccnSubscriptions} ${scaleInfo} ${element} ${aspectId} -${scaleOutResponse} ${callbackResp} localhost @@ -150,9 +122,7 @@ ${tosca_type_storage} tosca.nodes.nfv.Vdu.VirtualBlockStorage ${tosca_type_derived_from_VNF} ${VDU_IDs} -${VNF_IDs} -${virtualLink_IDs} -${CP_IDs} + ${Storage_IDs} ${internalCP_IDs} ${externalCP_IDs} -- GitLab From 940850d30f162820557e4b3bb9a3df5257e12f9b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 12:50:07 +0200 Subject: [PATCH 119/211] updated SOL003 VNF PM to v3.5.1 --- .../IndividualPmJob.robot | 18 +++++----- .../IndividualReport.robot | 12 +++---- .../IndividualThreshold.robot | 18 +++++----- .../NotificationEndpoint.robot | 4 +-- .../Notifications.robot | 4 +-- .../VNFPerformanceManagement-API/PMJobs.robot | 34 +++++++++---------- .../Thresholds.robot | 22 ++++++------ 7 files changed, 56 insertions(+), 56 deletions(-) diff --git a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot index bda65d8b1..0b0a8d75e 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -12,7 +12,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -52,7 +52,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Individual VNF Performance Job ... Test title: PATCH Individual VNF Performance Job ... Test objective: The objective is to test that PATCH method allows to modify individual performace management job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -102,7 +102,7 @@ PATCH Individual VNF Performance Job - Precondition failed ... Test title: PATCH Individual VNF Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -116,7 +116,7 @@ PATCH Individual VNF Performance Job - Unprocessable Entity ... Test title: PATCH Individual VNF Performance Job - Unprocessable Entity ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot index f75b0d0f4..14613c716 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot index c991eb863..95543df39 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -52,7 +52,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method allows to modify an Individual threshold resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -102,7 +102,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Preconition failed ... Test objective: The objective is to attempt to modify an individual threshold resource, where the precondition was not met. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ PATCH Individual Threshold - Unprocessible Entity ... Test title: PATCH Individual Threshold - Unprocessible Entity ... Test objective: The objective is to test that PATCH method cannot modify an individual threshold resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/NotificationEndpoint.robot b/SOL003/VNFPerformanceManagement-API/NotificationEndpoint.robot index e4130e440..b22d7e0e8 100644 --- a/SOL003/VNFPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFPerformanceManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Performance Information Available Notification ... Test title: Performance Information Available Notification ... Test objective: The objective is to test that the POST request triggers Performance Information Available Notification. ... Pre-conditions: A VNF performance job is created, and a subscription for performance information available notification is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test that the POST request triggers Threshold Crossed Notification ... Pre-conditions: A VNF performance job is created, and a subscription for threshold crossed notification is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/Notifications.robot b/SOL003/VNFPerformanceManagement-API/Notifications.robot index b8c5b3d6f..7cfc35a22 100644 --- a/SOL003/VNFPerformanceManagement-API/Notifications.robot +++ b/SOL003/VNFPerformanceManagement-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of VNF Performance Information Availability Notification when new VNF performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of VNF Threshold Crossed Notification when a previously set VNF performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a threshold subscription is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index 49c284c4c..8f7c0ae9e 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -13,7 +13,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -83,7 +83,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -97,7 +97,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ Create new VNF Performance Monitoring Job ... Test title: Create a new VNF Performance Monitoring Job ... Test objective: The objective is to test the creation of a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -136,7 +136,7 @@ PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ PATCH all VNF Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -160,7 +160,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ GET all VNF Performance Monitoring Jobs as Paged Response ... Test title: GET all VNF Performance Monitoring Jobs as Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs as Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF performance jobs resources ... Post-Conditions: none @@ -186,7 +186,7 @@ GET all VNF Performance Monitoring Jobs as Paged Response with nextpage_opauque_ ... Test title: GET all VNF Performance Monitoring Jobs as Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about all the available VNF performance monitoring jobs as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving the available VNF performance monitoring jobs as a paged response has been successfully issued (Test ID 7.3.4.1.13) - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF performance jobs resources ... Post-Conditions: none @@ -198,7 +198,7 @@ GET VNF Performance Monitoring Jobs - Bad Request Response too Big ... Test title: GET VNF Performance Monitoring Jobs - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -211,7 +211,7 @@ GET all VNF Performance Monitoring Jobs with fields and exclude_default attribut ... Test title: GET all VNF Performance Monitoring Jobs with fields and exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields and exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of fields and exclude_fields attribute selector ... Post-Conditions: none @@ -225,7 +225,7 @@ POST Create new VNF Performance Monitoring Job - Unprocessable Entity ... Test title: POST Create new VNF Performance Monitoring Job - Unprocessable Entity ... Test objective: The objective is to test the creation of a new VNF performance monitoring job fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: none - ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] V3.3.1 + ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/Thresholds.robot b/SOL003/VNFPerformanceManagement-API/Thresholds.robot index 230ae2300..4c9f5a4a2 100644 --- a/SOL003/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL003/VNFPerformanceManagement-API/Thresholds.robot @@ -12,7 +12,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -79,7 +79,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNF. - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance thresholds are not deleted by the failed operation @@ -116,7 +116,7 @@ GET All Performance Thresholds as Paged Response ... Test title: GET All Performance Thresholds as Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds as a Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Performance Thresholds - Bad Request Response too Big ... Test title: GET Performance Thresholds - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ POST create new Performance Threshold - Unprocessable Entity ... Test title: POST create new Performance Threshold - Unprocessable Entity ... Test objective: The objective is to test that creation of new VNF performance threshold fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From e6741a1212d848e36107bb8ab6abd751a2078a5a Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:34:36 +0200 Subject: [PATCH 120/211] updated SOL003 VNF PM pm jobs and thresholds callaback uri --- .../IndividualPmJob.robot | 23 ++++++++++++++++--- .../IndividualThreshold.robot | 20 ++++++++++++++-- .../VNFPerformanceManagement-API/PMJobs.robot | 19 ++++++++++++++- .../Thresholds.robot | 22 +++++++++++++++--- .../environment/variables.txt | 2 +- .../jsons/CreatePmJobRequest.json | 4 ++-- .../jsons/CreateThresholdRequest.json | 2 +- .../jsons/PmJobModifications.json | 4 ++-- .../jsons/ThresholdModifications.json | 6 ++--- 9 files changed, 84 insertions(+), 18 deletions(-) diff --git a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot index 0b0a8d75e..c927b5124 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -5,6 +5,11 @@ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library String +Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET individual VNF Performance Job @@ -126,6 +131,11 @@ PATCH Individual VNF Performance Job - Unprocessable Entity *** Keywords *** +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + GET individual VNF Performance Job Log Trying to get a Pm Job present in the NFVO Catalogue Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -182,10 +192,17 @@ Send Patch request for individual VNF Performance Job Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/PMJobModifications.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint} + ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for individual VNF Performance Job - Etag mismatch Set Headers {"Accept":"${ACCEPT_JSON}"} @@ -193,7 +210,7 @@ Send Patch request for individual VNF Performance Job - Etag mismatch Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/PMJobModifications.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint} + ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -204,7 +221,7 @@ Send Patch request for individual VNF Performance Job with unprocessable entity Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/PMJobModifications.json - ${body}= Format String ${template} callback_uri=${unreachable_callback_uri}:${callback_port} + ${body}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot index 95543df39..542dbeb87 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -5,6 +5,11 @@ Library JSONLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library String +Library Process +Library MockServerLibrary + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET Individual Threshold @@ -125,6 +130,11 @@ PATCH Individual Threshold - Unprocessible Entity *** Keywords *** +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + GET Individual VNF Performance Threshold Log Trying to get a Threhsold present in the VNFM Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -180,9 +190,16 @@ Send Patch request for individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ThresholdModifications.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable ${response} ${output} + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send Patch request for individual VNF Performance Threshold - Etag mismatch Log Trying to PUT threshold @@ -195,7 +212,6 @@ Send Patch request for individual VNF Performance Threshold - Etag mismatch PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable ${response} ${output} - Send Patch request for individual VNF Performance Threshold with unprocessable entity Log Trying to PATCH threshold @@ -203,7 +219,7 @@ Send Patch request for individual VNF Performance Threshold with unprocessable e Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ThresholdModifications.json - ${body}= Format String ${template} callback_uri=${unreachable_callback_uri}:${callback_port} + ${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index 8f7c0ae9e..b7cf83bef 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -6,6 +6,11 @@ Library OperatingSystem Library String Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library MockServerLibrary +Library Process + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true + *** Test Cases *** GET all VNF Performance Monitoring Jobs @@ -234,6 +239,11 @@ POST Create new VNF Performance Monitoring Job - Unprocessable Entity Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + GET all VNF Performance Monitoring Jobs Log Trying to get all PM Jobs present in the VNFM Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -335,10 +345,17 @@ Send Post Request Create new VNF Performance Monitoring Job Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callback_uri=${callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send PUT Request for all VNF Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented diff --git a/SOL003/VNFPerformanceManagement-API/Thresholds.robot b/SOL003/VNFPerformanceManagement-API/Thresholds.robot index 4c9f5a4a2..4b8b1a2a0 100644 --- a/SOL003/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL003/VNFPerformanceManagement-API/Thresholds.robot @@ -5,6 +5,11 @@ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem +Library Process +Library MockServerLibrary + +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET All Performance Thresholds @@ -151,6 +156,11 @@ POST create new Performance Threshold - Unprocessable Entity Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + GET all Performance Thresholds Log Trying to get all thresholds present in the VNFM Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -200,11 +210,17 @@ Send Post Request Create new Performance Threshold with unprocessable entity Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callback_uri=${unreachable_callback_uri}:${callback_port} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${request}= Format String ${template} objectInstanceIds=${objectInstanceIds} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the request + Create Mock Expectation ${notification_request} ${notification_response} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${request} ${output}= Output response Set Suite Variable ${response} ${output} - + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} Send PUT Request for all Performance Thresholds Log PUT THresholds diff --git a/SOL003/VNFPerformanceManagement-API/environment/variables.txt b/SOL003/VNFPerformanceManagement-API/environment/variables.txt index e7d2e7f50..90fee5f3f 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/variables.txt @@ -22,7 +22,7 @@ ${apiMajorVersion} v1 ${apiName} vnfpm ${callback_port} 9091 -${callback_uri} http://172.22.1.7:${callback_port} +${callback_uri} http://172.22.1.7 ${unreachable_callback_uri} http://not-reachable-uri ${callback_endpoint} /vnfpm/subscriptions ${callback_endpoint_error} /subs_404 diff --git a/SOL003/VNFPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL003/VNFPerformanceManagement-API/jsons/CreatePmJobRequest.json index c8abf77c8..8355d506b 100644 --- a/SOL003/VNFPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL003/VNFPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -6,5 +6,5 @@ "collectionPeriod": 10, "reportingPeriod": 30 }}, - "callbackUri": "{callback_uri}" -}} \ No newline at end of file + "callbackUri": "{callback_uri}:{callback_port}{callback_endpoint}" +}} diff --git a/SOL003/VNFPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL003/VNFPerformanceManagement-API/jsons/CreateThresholdRequest.json index 645c64fda..9094634bc 100644 --- a/SOL003/VNFPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL003/VNFPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -9,5 +9,5 @@ }} }}, - "callbackUri": "{callback_uri}" + "callbackUri": "{callback_uri}:{callback_port}{callback_endpoint}" }} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/jsons/PmJobModifications.json b/SOL003/VNFPerformanceManagement-API/jsons/PmJobModifications.json index 275f942d9..e27b443c7 100644 --- a/SOL003/VNFPerformanceManagement-API/jsons/PmJobModifications.json +++ b/SOL003/VNFPerformanceManagement-API/jsons/PmJobModifications.json @@ -1,3 +1,3 @@ { - "callbackUri": "{callback_uri}" -} \ No newline at end of file + "callbackUri": "{callback_uri}:{callback_port}{callback_endpoint}" +} diff --git a/SOL003/VNFPerformanceManagement-API/jsons/ThresholdModifications.json b/SOL003/VNFPerformanceManagement-API/jsons/ThresholdModifications.json index bcd6f0090..e27b443c7 100644 --- a/SOL003/VNFPerformanceManagement-API/jsons/ThresholdModifications.json +++ b/SOL003/VNFPerformanceManagement-API/jsons/ThresholdModifications.json @@ -1,3 +1,3 @@ - { - "callbackUri": "{callback_uri}" -} \ No newline at end of file +{ + "callbackUri": "{callback_uri}:{callback_port}{callback_endpoint}" +} -- GitLab From 526902b5f95d76836a6b30fb620d15c810d64f23 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:24:15 +0200 Subject: [PATCH 121/211] Removing unused variables --- .../VNFPerformanceManagement-API/environment/variables.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/SOL003/VNFPerformanceManagement-API/environment/variables.txt b/SOL003/VNFPerformanceManagement-API/environment/variables.txt index 90fee5f3f..2d8ec14a7 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/variables.txt @@ -6,7 +6,6 @@ ${VNFM_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json @@ -15,7 +14,6 @@ ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 ${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${VNFM_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 @@ -25,8 +23,6 @@ ${callback_port} 9091 ${callback_uri} http://172.22.1.7 ${unreachable_callback_uri} http://not-reachable-uri ${callback_endpoint} /vnfpm/subscriptions -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -41,7 +37,6 @@ ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId ${newPmJobId} newPmJobId ${response}= httpresponse -${OrigResponse}= httpresponse ${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -- GitLab From e43a62c1c2a3e9caa85bc208d8524877d4ed1975 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 12:51:57 +0200 Subject: [PATCH 122/211] updated SOL003 VNF FM to v3.5.1 --- SOL003/VNFFaultManagement-API/Alarms.robot | 20 ++++----- .../IndividualAlarm.robot | 16 +++---- .../IndividualSubscription.robot | 12 ++--- .../NotificationEndpoint.robot | 6 +-- .../Subscriptions.robot | 44 +++++++++---------- 5 files changed, 49 insertions(+), 49 deletions(-) diff --git a/SOL003/VNFFaultManagement-API/Alarms.robot b/SOL003/VNFFaultManagement-API/Alarms.robot index d3dc4b066..e380ad0ff 100644 --- a/SOL003/VNFFaultManagement-API/Alarms.robot +++ b/SOL003/VNFFaultManagement-API/Alarms.robot @@ -13,7 +13,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get information about multiple alarms ... Test title: Get information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get information about multiple alarms with filter ... Test title: Get information about multiple alarms with filter ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Get information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: Get information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -133,7 +133,7 @@ DELETE Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about the alarm list as a Paged Response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF alarm resources ... Post-Conditions: none @@ -158,7 +158,7 @@ GET information about multiple alarms as a Paged Response with nextpage_opauque_ ... Test title: GET information about multiple alarms as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about multiple alarms as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving multiple alarms as a paged response has been successfully issued (Test ID 7.3.5.1.12) - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF alarm resources ... Post-Conditions: none @@ -171,7 +171,7 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about the alarm list because response is too big and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot index 198aeb524..7ea8a61e9 100644 --- a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot @@ -14,7 +14,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get information about an fault management individual alarm ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT Alarm - Method not implemented ... Test title: PUT Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH Fault Management Individual Alarm ... Test title: PATCH Fault Management Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ Modify an individual alarm resource - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ Modify an individual alarm resource - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ DELETE Alarm - Method not implemented ... Test title: DELETE Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Get information about an fault management individual alarm - Not Found ... Test title: Get information about an fault management individual alarm - Not Found ... Test objective: The objective is to test that retrieval of information about an individual alarm fails when individual alarm is not present ... Pre-conditions: The related alarm does not exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot index 4782701a7..97e1be793 100644 --- a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title: Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to test that DELETE method removes individual subscription on VNF ... Pre-conditions: The Subsbcription already exists - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is deleted @@ -73,7 +73,7 @@ Get Information about an individual subscription - Not Found ... Test title: Get Information about an individual subscription - Not Found ... Test objective: The objective is to test that the retrieval of an individual subscription for NFVO alarms subscribed by the client fails when subscription is not present ... Pre-conditions: The subscription with the given id does not exists - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot index b2dbd1f00..1d9f56d9d 100644 --- a/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm Cleared Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ VNF Fault Alarm List Reulit Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm List Rebuilt Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index ca2beba9d..e79e75052 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Create a new Fault Management alarm subscription ... Test title: Create a new Fault Management alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is created @@ -31,7 +31,7 @@ Create a new alarm subscription - DUPLICATION ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -46,7 +46,7 @@ Create a new alarm subscription - NO DUPLICATION ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -60,7 +60,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: noe @@ -73,7 +73,7 @@ Retrieve a list of alarm subscriptions with filter ... Test title: Retrieve a list of alarm subscriptions with filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -112,7 +112,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -125,7 +125,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -138,7 +138,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -151,7 +151,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... RReference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... RReference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -163,7 +163,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -175,7 +175,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is not deleted @@ -187,7 +187,7 @@ Retrieve a list of alarm subscriptions as Paged Response ... Test title: Retrieve a list of alarm subscriptions as Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions as Paged Response. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: noe @@ -200,7 +200,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to retrieve the list of active subscriptions because response is too big and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -213,7 +213,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -227,7 +227,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -241,7 +241,7 @@ Get subscriptions with filter "filter.faultyResourceTypes" ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -255,7 +255,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -269,7 +269,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -283,7 +283,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -297,7 +297,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From f2feb54a7c9e59db5b394a16b1afdea803d93b38 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 12:53:39 +0200 Subject: [PATCH 123/211] updated SOL003 VNF FM notif to v3.5.1 --- .../VNFFaultManagementNotification-API/Notifications.robot | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL003/VNFFaultManagementNotification-API/Notifications.robot b/SOL003/VNFFaultManagementNotification-API/Notifications.robot index 314eb7487..d70add2c7 100644 --- a/SOL003/VNFFaultManagementNotification-API/Notifications.robot +++ b/SOL003/VNFFaultManagementNotification-API/Notifications.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From 87a75be5fdaaa8d305fb4915d8c252882dcd9ae5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:52:24 +0200 Subject: [PATCH 124/211] updated SOL003 VNF FM callaback uri --- SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 66ac5df09..07931906c 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -278,6 +278,7 @@ POST Subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Send POST Request for duplicated subscription @@ -296,6 +297,7 @@ Send POST Request for duplicated subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Send POST Request for duplicated subscription not permitted @@ -314,6 +316,7 @@ Send POST Request for duplicated subscription not permitted Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} GET Subscriptions -- GitLab From 865e45357ec889b7aa8a26e1c265926b6f13c8a3 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:14:49 +0200 Subject: [PATCH 125/211] Removing unused variables --- .../VNFFaultManagement-API/environment/variables.txt | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/SOL003/VNFFaultManagement-API/environment/variables.txt b/SOL003/VNFFaultManagement-API/environment/variables.txt index 02261acf8..375d77467 100644 --- a/SOL003/VNFFaultManagement-API/environment/variables.txt +++ b/SOL003/VNFFaultManagement-API/environment/variables.txt @@ -10,14 +10,14 @@ ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${alarm_filter} managedObjectId -${managedObjectId} 007c111c-38a1-42c0-a666-7475ecb1567c + ${invalid_alarm_filter} badFilter ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${CONTENT_TYPE_PATCH} application/merge-patch+json ${Etag}= an etag -${Etag_modified}= a modified etag + ${VNFM_DUPLICATION} 1 ${sub_filter} filter @@ -39,15 +39,8 @@ ${perceivedSeverity} CRITICAL ${probableCause} "" -${AlarmNotification} {} -${AlarmClearedNotification} {} -${AlarmListRebuiltNotification} {} - ${response} {} -${req_mock} {} -${resp_mock} {} - ${nsInstanceId} 007c111c-38a1-42c0-a666-7475ecb1567c ${invalidAlarmId} invalidIdAlarm -- GitLab From 5da0fd4d951a997bb2945eb1e30d8b6652fd54c2 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 18 Oct 2021 12:54:47 +0200 Subject: [PATCH 126/211] updated SOL003 VNF IND to v3.5.1 --- .../IndividualSubscription.robot | 14 +++++----- .../IndividualVNFindicator.robot | 12 ++++----- .../NotificationEndpoint.robot | 4 +-- SOL003/VNFIndicator-API/Notifications.robot | 2 +- SOL003/VNFIndicator-API/Subscriptions.robot | 26 +++++++++---------- SOL003/VNFIndicator-API/VNFIndicators.robot | 26 +++++++++---------- .../VnfIndicatorsInVnfInstanceId.robot | 20 +++++++------- 7 files changed, 52 insertions(+), 52 deletions(-) diff --git a/SOL003/VNFIndicator-API/IndividualSubscription.robot b/SOL003/VNFIndicator-API/IndividualSubscription.robot index 0df636f7e..4c4b5ece4 100644 --- a/SOL003/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL003/VNFIndicator-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ GET Individual VNF Indicator Subscription ... Test title: GET Individual VNF Indicator Subscription ... Test objective: The objective is to test the retrieval of individual VNF indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: GET Individual VNF Indicator Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of individual VNF indicator subscription fails when using an invalid resource identifier. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ DELETE Individual VNF Indicator Subscription ... Test title: DELETE Individual VNF Indicator Subscription ... Test objective: The objective is to test the deletion of an individual VNF indicator subscription. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The subscription to VNF indicators is deleted @@ -50,7 +50,7 @@ DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF indicator subscription fails when using an invalid resource identifier. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual VNF indicator subscription is not modified by the operation @@ -74,7 +74,7 @@ PATCH Individual VNF Indicator Subscription - Method not implemented ... Test title: PATCH Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ POST Individual VNF Indicator Subscription - Method not implemented ... Test title: POST Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot index aec7085b0..579bf0127 100644 --- a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot @@ -10,7 +10,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get Individual Indicator for VNF Instance ... Test objective: The objective is to test the retrieval of an indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of an indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: POST Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF indicator in the VNFM ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: PUT Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: PATCH Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: DELETE Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/NotificationEndpoint.robot b/SOL003/VNFIndicator-API/NotificationEndpoint.robot index ceeee79e1..438973621 100644 --- a/SOL003/VNFIndicator-API/NotificationEndpoint.robot +++ b/SOL003/VNFIndicator-API/NotificationEndpoint.robot @@ -12,7 +12,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test that the POST request triggers VNF Indicator Value Change Notification. ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNFM. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Supported Indicators Change Notification ... Test title: Supported Indicators Change Notification ... Test objective: The objective is to test that the POST request triggers Supported Indicators Change Notification. ... Pre-conditions: A VNF is instantiated, and a individual subscription resource for supported indicators change notifications is available in the VNFM. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/Notifications.robot b/SOL003/VNFIndicator-API/Notifications.robot index 4338e884c..0cb54c52c 100644 --- a/SOL003/VNFIndicator-API/Notifications.robot +++ b/SOL003/VNFIndicator-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test the dispatch of VNF Indicator Value Change Notification when new indicator values are available in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNFM. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/Subscriptions.robot b/SOL003/VNFIndicator-API/Subscriptions.robot index 6db2c17af..efb75c763 100644 --- a/SOL003/VNFIndicator-API/Subscriptions.robot +++ b/SOL003/VNFIndicator-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET All VNF Indicator Subscriptions ... Test title: GET All VNF Indicator Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicator subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET VNF Indicator Subscriptions with attribute-based filter ... Test title: GET VNF Indicator Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicator subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ GET VNF Indicator Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicator Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicator subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Indicator Subscriptions with invalid resource endpoint ... Test title: GET VNF Indicator Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicator subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ Create new VNF indicator subscription ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -84,7 +84,7 @@ Create duplicated VNF indicator subscription with VNFM not creating duplicated s ... Test title: Create duplicated VNF indicator subscription with VNFM not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF indicator subscription and check that no new subscription is created by the VNFM and a link to the original subscription is returned ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF indicator subscription returned is available in the VNFM @@ -100,7 +100,7 @@ Create duplicated VNF indicator subscription with VNFM creating duplicated subsc ... Test title: Create duplicated VNF indicator subscription with VNFM creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF indicator subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF indicator subscription is successfully set and it matches the issued subscription @@ -115,7 +115,7 @@ PUT VNF Indicator Subscriptions - Method not implemented ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH VNF Indicator Subscriptions - Method not implemented ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ DELETE VNF Indicator Subscriptions - Method not implemented ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ GET All VNF Indicator Subscriptions as Paged Response ... Test title: GET All VNF Indicator Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all VNF indicator subscriptions as Paged Response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ GET VNF Indicator Subscriptions - Bad Request Response too Big ... Test title: GET VNF Indicator Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF indicator subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -177,7 +177,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/VNFIndicators.robot b/SOL003/VNFIndicator-API/VNFIndicators.robot index 35c0a53b6..5d59e23d0 100644 --- a/SOL003/VNFIndicator-API/VNFIndicators.robot +++ b/SOL003/VNFIndicator-API/VNFIndicators.robot @@ -11,7 +11,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: Get all VNF Indicators with malformed authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -63,7 +63,7 @@ Get all VNF Indicators without authorization token ... Test title: Get all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -75,7 +75,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -87,7 +87,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: Get all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNF - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNF - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF indicators are not deleted by the unsuccessful operation @@ -148,7 +148,7 @@ Get all VNF Indicators as Paged Response ... Test title: Get all VNF Indicators as Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF indicators as Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ Get VNF Indicators - Bad Request Response too Big ... Test title: Get VNF Indicators - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF indicators fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 893300dfd..e5b9d1093 100644 --- a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -11,7 +11,7 @@ Get Indicators for VNF Instance ... Test title: Get Indicators for VNF Instance ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Indicators for VNF Instance with attribute-based filter ... Test title: GET Indicators for VNF Instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get Indicators for VNF Instance with invalid attribute-based filter ... Test title: Get Indicators for VNF Instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ Get Indicators for VNF Instance with invalid resource identifier ... Test title: Get Indicators for VNF Instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Indicators for VNF instance - Method not implemented ... Test title: POST Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PUT Indicators for VNF instance - Method not implemented ... Test title: PUT Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Indicators for VNF instance - Method not implemented ... Test title: PATCH Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE Indicators for VNF instance - Method not implemented ... Test title: DELETE Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -113,7 +113,7 @@ Get Indicators for VNF Instance as Paged Response ... Test title: Get Indicators for VNF Instance as Paged Response ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance as Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ Get Indicators for VNF Instance - Bad Request Response too Big ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From d7b0ffbf7553c1b39843d3fabc8f0f9e542865a8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 26 Oct 2021 16:49:51 +0200 Subject: [PATCH 127/211] updated SOL003 VNF Ind callaback uri --- SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 8d764cab5..01d057de9 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -109,11 +109,8 @@ Send Post Request for VNF Indicator Subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${output}= Output response Set Global Variable ${response} ${output} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint - - Send Post Request for Duplicated VNF indicator Subscription Log Trying to create a subscription with an already created content @@ -130,9 +127,8 @@ Send Post Request for Duplicated VNF indicator Subscription Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false ${output}= Output response Set Global Variable ${response} ${output} + Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques - #... Check Notification Endpoint Send Put Request for VNF Indicator Subscriptions -- GitLab From 0a71d20494a2f8bb6cab72e601fd4e04de4cb07e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:19:09 +0200 Subject: [PATCH 128/211] Removing unused variables --- SOL003/VNFIndicator-API/environment/variables.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/SOL003/VNFIndicator-API/environment/variables.txt b/SOL003/VNFIndicator-API/environment/variables.txt index f4df749d5..1c953b145 100644 --- a/SOL003/VNFIndicator-API/environment/variables.txt +++ b/SOL003/VNFIndicator-API/environment/variables.txt @@ -15,18 +15,12 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} vnfind -${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint - -${VNFM_ALLOWS_DUPLICATE_SUBS} 1 - ${response} ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -38,7 +32,6 @@ ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies. ${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa ${erroneousSubscriptionId} erroneousSubscriptionId -${newSubscriptionId} newSubsciptionId ${origResponse} httpresponse -- GitLab From 782dfcbff034a3267abb2f886ced9de3a4b377a5 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Fri, 15 Oct 2021 16:06:04 +0500 Subject: [PATCH 129/211] Update schemas of VNF LCM --- ...perationOccurrenceNotification.schema.json | 125 +- .../schemas/VnfSnapshotInfo.schema.json | 3209 ++++++++-------- .../schemas/VnfSnapshotsInfo.schema.json | 3214 +++++++++-------- .../schemas/vnfInstance.schema.json | 2815 ++++++++------- .../schemas/vnfInstances.schema.json | 2538 +++++++------ .../schemas/vnfLcmOpOcc.schema.json | 222 +- .../schemas/vnfLcmOpOccs.schema.json | 229 +- 7 files changed, 6725 insertions(+), 5627 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json index 7abc26eae..8065ae213 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json @@ -1,5 +1,5 @@ { - "description": "This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the VNF lifecycle caused by a VNF LCM operation occurrence, including: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) * Change of the state of the VNF instance (i.e. Operate VNF) * Change of the deployment flavour of the VNF instance * Change of the external connectivity of the VNF instance * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable\n properties through the \"PATCH\" method on the \"Individual VNF instance\"\n resource.\nIf this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the \"start\" notification, the grant request and the LCM operation acknowledgment can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the \"Individual VNF LCM operation occurrence\" resource before the notification about the state change is sent.\n", + "description": "This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the VNF lifecycle caused by a VNF LCM operation occurrence, including: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) * Change of the state of the VNF instance (i.e. Operate VNF) * Change of the deployment flavour of the VNF instance * Change of the external connectivity of the VNF instance * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable\n properties through the \"PATCH\" method on the \"Individual VNF instance\"\n resource.\nIf this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the \"start\" notification, the grant request and the LCM operation acknowledgment can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the \"Individual VNF LCM operation occurrence\" resource before the notification about the state change is sent. * NOTE 1:\tShall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set\n to \"FULL\" and the operation has performed any resource modification. Shall be absent otherwise.\n This attribute contains information about the cumulative changes to virtualised resources that\n were performed so far by the VNF LCM operation occurrence and by any of the error handling\n procedures for that operation occurrence.\n NOTE 2:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a particular\n VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using\n the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another\n \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n", "type": "object", "required": [ "id", @@ -61,7 +61,7 @@ "type": "string" }, "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "description": "The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", "type": "string", "enum": [ "INSTANTIATE", @@ -95,7 +95,7 @@ "type": "string" }, "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "description": "Information about VNFC instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", @@ -186,10 +186,10 @@ } }, "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "description": "Information about VL instances that were affected during the lifecycle operation. See note 1 and note 2.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n", "type": "object", "required": [ "id", @@ -248,7 +248,7 @@ } }, "vnfLinkPortIds": { - "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\" structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note.\n", "type": "array", "items": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -263,7 +263,7 @@ } }, "affectedExtLinkPorts": { - "description": "Information about external VNF link ports that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set to \"FULL\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "description": "Information about external VNF link ports that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", @@ -320,7 +320,7 @@ } }, "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", @@ -387,15 +387,15 @@ } }, "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\" as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfConfigurableProperties": { @@ -415,11 +415,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -431,10 +431,10 @@ "type": "string" }, "vnfcInfoModifications": { - "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", + "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12.\n", "type": "array", "items": { - "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. It shall comply with the provisions defined in table 5.5.3.24-1.\n", + "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n", "type": "object", "required": [ "id", @@ -454,10 +454,47 @@ } } }, + "affectedVipCps": { + "description": "Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation, if this notification represents the result of a lifecycle management operation occurrence. Shall be present if the \"notificationStatus\" is set to \"RESULT\", the \"verbosity\" attribute is set to \"FULL\" and the operation has made any changes to the VIP CP instances of the VNF instance. Shall be absent otherwise. Only information about VIP CP instances that have been added, deleted or modified shall be provided.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified virtual IP CP instances.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId", + "changeType" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED" + ] + } + } + } + }, "changedExtConnectivity": { "description": "Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the \"operation\" has made any change of the external connectivity of the VNF instance. Shall be absent otherwise.\n", "type": "array", "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", "type": "object", "required": [ "id", @@ -498,7 +535,7 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", "required": [ "id", @@ -537,15 +574,23 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", "required": [ "cpdId" @@ -556,10 +601,10 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [{ "required": [ "linkPortId" @@ -581,25 +626,29 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", "type": "object", "anyOf": [{ "required": [ @@ -634,12 +683,20 @@ "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", @@ -656,7 +713,7 @@ ] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -665,11 +722,11 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", "required": [ "minAddress", @@ -710,7 +767,7 @@ } }, "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 5.5.3.21-1.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfConfigurableProperties": { @@ -730,11 +787,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -748,7 +805,7 @@ } }, "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", "type": "object", "required": [ "status", @@ -756,7 +813,7 @@ ], "properties": { "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json index 7f4f90f38..287543fd6 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json @@ -1,1531 +1,1682 @@ { - "description": "This type represents an individual VNF snapshot resource.\n", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshotPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshot": { - "description": "This type represents a VNF snapshot.\n", - "type": "object", - "required": [ - "id", - "vnfInstanceId", - "triggeredAt", - "vnfdId", - "vnfInfo", - "vnfcSnapshots" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstance": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", - "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], - "oneOf": [ - { - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [ - { - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "type": "object", - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "Information about the VNFC instances.\n", - "type": "array", - "items": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", - "type": "object", - "required": [ - "id", - "vduId", - "vnfcState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scale": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "heal": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "operate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "createSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "revertToSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "vnfcSnapshots": { - "description": "Information about VNFC snapshots constituting this VNF snapshot.\n", - "type": "array", - "items": { - "description": "This type represents a VNFC snapshot.\n", - "type": "object", - "required": [ - "id", - "vnfcInstanceId", - "triggeredAt", - "vnfcInfo" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfcResourceInfoId": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", - "type": "object", - "required": [ - "id", - "vduId", - "vnfcState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "computeSnapshotResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageSnapshotResources": { - "description": "Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n", - "type": "object", - "required": [ - "storageResourceId" - ], - "properties": { - "storageResourceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "storageSnapshotResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "takenFrom": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } + "description": "This type represents a VNF snapshot.\n", + "type": "object", + "required": [ + "id", + "vnfInstanceId", + "triggeredAt", + "vnfdId", + "vnfInfo", + "vnfcSnapshots" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstance": { + "description": "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": [ + "id", + "vnfdId", + "vnfProvider", + "vnfProductName", + "vnfSoftwareVersion", + "vnfdVersion", + "instantiationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\n", + "type": "string", + "enum": [ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": [ + "flavourId", + "vnfState", + "extCpInfo" + ], + "properties": { + "flavourId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfState": { + "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n", + "type": "object", + "required": [ + "id", + "cpdId", + "cpConfigId", + "cpProtocolInfo" + ], + "oneOf": [{ + "required": [ + "associatedVnfcCpId" + ] + }, + { + "required": [ + "associatedVipCpId" + ] + }, + { + "required": [ + "associatedVnfVirtualLinkId" + ] + } + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [{ + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "ipAddressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + }, + "monitoringParameters": { + "description": "Active monitoring parameters.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n", + "type": "object", + "required": [ + "id", + "vduId", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "All the CPs of the VNFC instance.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "parentCpId": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource", + "vnfLinkPorts" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfcInfo": { + "description": "Information about the VNFC instances.\n", + "type": "array", + "items": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "indicators": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "instantiate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "terminate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scale": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scaleToLevel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeFlavour": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "heal": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "operate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeExtConn": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "createSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "revertToSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + }, + "vnfcSnapshots": { + "description": "Information about VNFC snapshots constituting this VNF snapshot.\n", + "type": "array", + "items": { + "description": "This type represents a VNFC snapshot. * NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC\n snapshot being returned from the VIM as output data in the response message of the individual\n resource operations. This attribute shall only be present for a VNFC snapshot that has been\n newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot\n being returned from the VIM as output data in the response message of the individual resource\n operations. This attribute shall only be present for a VNFC snapshot with an associated storage\n resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n", + "type": "object", + "required": [ + "id", + "vnfcInstanceId", + "creationStartedAt", + "vnfcResourceInfoId" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfcResourceInfoId": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "computeSnapshotResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageSnapshotResources": { + "description": "Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n", + "type": "object", + "required": [ + "storageResourceId" + ], + "properties": { + "storageResourceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "storageSnapshotResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json index 1ea63e51f..46551a0b3 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json @@ -1,1535 +1,1685 @@ { - "type": "array", - "items": - { - "description": "This type represents an individual VNF snapshot resource.\n", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshotPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfSnapshot": { - "description": "This type represents a VNF snapshot.\n", - "type": "object", - "required": [ - "id", - "vnfInstanceId", - "triggeredAt", - "vnfdId", - "vnfInfo", - "vnfcSnapshots" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstance": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", - "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], - "oneOf": [ - { - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [ - { - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "type": "object", - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [ - { - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "Information about the VNFC instances.\n", - "type": "array", - "items": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", - "type": "object", - "required": [ - "id", - "vduId", - "vnfcState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scale": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "heal": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "operate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "createSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "revertToSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "vnfcSnapshots": { - "description": "Information about VNFC snapshots constituting this VNF snapshot.\n", - "type": "array", - "items": { - "description": "This type represents a VNFC snapshot.\n", - "type": "object", - "required": [ - "id", - "vnfcInstanceId", - "triggeredAt", - "vnfcInfo" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "creationStartedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "creationFinishedAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfcResourceInfoId": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", - "type": "object", - "required": [ - "id", - "vduId", - "vnfcState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "computeSnapshotResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageSnapshotResources": { - "description": "Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n", - "type": "object", - "required": [ - "storageResourceId" - ], - "properties": { - "storageResourceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "storageSnapshotResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "userDefinedData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "takenFrom": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } + "type":"array", + "items": { + "description": "This type represents a VNF snapshot.\n", + "type": "object", + "required": [ + "id", + "vnfInstanceId", + "triggeredAt", + "vnfdId", + "vnfInfo", + "vnfcSnapshots" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstance": { + "description": "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": [ + "id", + "vnfdId", + "vnfProvider", + "vnfProductName", + "vnfSoftwareVersion", + "vnfdVersion", + "instantiationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\n", + "type": "string", + "enum": [ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": [ + "flavourId", + "vnfState", + "extCpInfo" + ], + "properties": { + "flavourId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfState": { + "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n", + "type": "object", + "required": [ + "id", + "cpdId", + "cpConfigId", + "cpProtocolInfo" + ], + "oneOf": [{ + "required": [ + "associatedVnfcCpId" + ] + }, + { + "required": [ + "associatedVipCpId" + ] + }, + { + "required": [ + "associatedVnfVirtualLinkId" + ] + } + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [{ + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "ipAddressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + }, + "monitoringParameters": { + "description": "Active monitoring parameters.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n", + "type": "object", + "required": [ + "id", + "vduId", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "All the CPs of the VNFC instance.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [{ + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [{ + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "parentCpId": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource", + "vnfLinkPorts" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfcInfo": { + "description": "Information about the VNFC instances.\n", + "type": "array", + "items": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "indicators": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "instantiate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "terminate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scale": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scaleToLevel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeFlavour": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "heal": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "operate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeExtConn": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "createSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "revertToSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + }, + "vnfcSnapshots": { + "description": "Information about VNFC snapshots constituting this VNF snapshot.\n", + "type": "array", + "items": { + "description": "This type represents a VNFC snapshot. * NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC\n snapshot being returned from the VIM as output data in the response message of the individual\n resource operations. This attribute shall only be present for a VNFC snapshot that has been\n newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot\n being returned from the VIM as output data in the response message of the individual resource\n operations. This attribute shall only be present for a VNFC snapshot with an associated storage\n resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n", + "type": "object", + "required": [ + "id", + "vnfcInstanceId", + "creationStartedAt", + "vnfcResourceInfoId" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "creationStartedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "creationFinishedAt": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "vnfcResourceInfoId": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "computeSnapshotResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageSnapshotResources": { + "description": "Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n", + "type": "object", + "required": [ + "storageResourceId" + ], + "properties": { + "storageResourceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "storageSnapshotResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "userDefinedData": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } -} } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json index f6e0ab087..1f085a607 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json @@ -1,1299 +1,1520 @@ { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", - "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], - "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "type": "object", - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfVirtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "Information about the VNFC instances.\n", - "type": "array", - "items": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", - "type": "object", - "required": [ - "id", - "vduId", - "vnfcState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scale": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "heal": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "operate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "createSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "revertToSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } + "description": "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": [ + "id", + "vnfdId", + "vnfProvider", + "vnfProductName", + "vnfSoftwareVersion", + "vnfdVersion", + "instantiationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\n", + "type": "string", + "enum": [ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": [ + "flavourId", + "vnfState", + "extCpInfo" + ], + "properties": { + "flavourId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfState": { + "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n", + "type": "object", + "required": [ + "id", + "cpdId", + "cpConfigId", + "cpProtocolInfo" + ], + "oneOf": [ + { + "required": [ + "associatedVnfcCpId" + ] + }, + { + "required": [ + "associatedVipCpId" + ] + }, + { + "required": [ + "associatedVnfVirtualLinkId" + ] + } + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [ + { + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "ipAddressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + }, + "monitoringParameters": { + "description": "Active monitoring parameters.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n", + "type": "object", + "required": [ + "id", + "vduId", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "All the CPs of the VNFC instance.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "parentCpId": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource", + "vnfLinkPorts" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfVirtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfcInfo": { + "description": "Information about the VNFC instances.\n", + "type": "array", + "items": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "indicators": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "instantiate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "terminate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scale": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "scaleToLevel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeFlavour": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "heal": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "operate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeExtConn": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "createSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "revertToSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json index 9cd0bf256..7706e4314 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json @@ -1,281 +1,289 @@ { - "type": "array", - "items": - { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "instantiationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState", - "extCpInfo" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + "type": "array", + "items": { + "description": "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "object", + "required": [ + "id", + "vnfdId", + "vnfProvider", + "vnfProductName", + "vnfSoftwareVersion", + "vnfdVersion", + "instantiationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "instantiationState": { + "description": "The instantiation state of the VNF.\n", + "type": "string", + "enum": [ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "instantiatedVnfInfo": { + "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", + "type": "object", + "required": [ + "flavourId", + "vnfState", + "extCpInfo" + ], + "properties": { + "flavourId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfState": { + "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "maxScaleLevels": { - "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" + }, + "maxScaleLevels": { + "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", - "type": "array", - "minItems": 1, - "items": { - "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n", - "type": "object", - "required": [ - "id", - "cpdId", - "cpConfigId", - "cpProtocolInfo" - ], - "oneOf": [{ - "required": [ - "associatedVnfcCpId" - ] - }, - { - "required": [ - "associatedVnfVirtualLinkId" - ] - } - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.17 1.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" \n are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n ΓÇ£extLinkPortsΓÇ¥ attribute in clause 4.4.1.11.\n", + "type": "object", + "required": [ + "id", + "cpdId", + "cpConfigId", + "cpProtocolInfo" + ], + "oneOf": [ + { "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", + "associatedVnfcCpId" + ] + }, + { + "required": [ + "associatedVipCpId" + ] + }, + { + "required": [ + "associatedVnfVirtualLinkId" + ] + } + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" } } } @@ -283,266 +291,808 @@ } } } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVipCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "associatedVnfcCpId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedVnfVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + }, + "vipCpInfo": { + "description": "VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance.\nMay be present otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions defined in table 5.5.3.28-1.\nNOTE:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + }, + "associatedVnfcCpIds": { + "description": "Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "Metadata about this VIP CP.\n", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { "required": [ - "id", - "resourceHandle" + "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { + "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", "type": "string" } } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + }, + "currentVnfExtCpData": { + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", + "type": "array", + "items": { + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", + "anyOf": [ + { + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "type": "object", + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "ipAddressRange" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } } - }, - "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", - "type": "array", - "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { "required": [ - "cpdId" + "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "anyOf": [{ - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "vnfLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" ], "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "linkPortId": { + "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + } + } + } + } + } + } + }, + "monitoringParameters": { + "description": "Active monitoring parameters.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" + }, + "performanceMetric": { + "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", + "type": "string" + } + } + } + }, + "localizationLanguage": { + "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", + "type": "string" + }, + "vnfcResourceInfo": { + "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. * NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information.\n", + "type": "object", + "required": [ + "id", + "vduId", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "All the CPs of the VNFC instance.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in table 5.5.3.9b-1.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information.\nPermitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in table 5.5.3.10-1.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", "type": "object", - "required": [ - "layerProtocol" + "anyOf": [ + { + "required": [ + "macAddress" + ] + }, + { + "required": [ + "ipAddresses" + ] + } + ], + "oneOf": [ + { + "required": [ + "addresses" + ] + }, + { + "required": [ + "addressRange" + ] + } ], "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "format": "MAC" }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "ipAddressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { + "segmentationId": { + "description": "Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note 2.\n", "type": "object", "required": [ - "type" + "minAddress", + "maxAddress" ], "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } + "format": "IP" }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" } } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } @@ -551,753 +1101,423 @@ } } } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "parentCpId": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } } } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "performanceMetric" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric that is monitored. This attribute shall contain the related \"Measurement Name\" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { + }, + "vnfVirtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource", + "vnfLinkPorts" + ], + "properties": { + "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "networkResource": { "required": [ - "id", - "cpdId" + "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", - "type": "object", + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "description": "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 5.5.3.8 1.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { "required": [ - "layerProtocol" + "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "anyOf": [{ - "required": [ - "macAddress" - ] - }, - { - "required": [ - "ipAddresses" - ] - } - ], - "oneOf": [{ - "required": [ - "addresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", - "type": "string" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" } } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpInstanceType": { + "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present and shall be absent otherwise.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + }, + "vipCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - }, - "vnfVirtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", + }, + "vnfVirtualStorageResourceInfo": { + "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "storageResource": { "required": [ - "id", - "resourceHandle" + "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, - "cpInstanceType": { - "description": "Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP.\n", - "type": "string", - "enum": [ - "VNFC_CP", - "EXT_CP" - ] + "vimLevelResourceType": { + "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", + "type": "string" } } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfcInfo": { + "description": "Information about the VNFC instances.\n", + "type": "array", + "items": { + "description": "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n", + "type": "object", + "required": [ + "id", + "vduId", + "vnfcState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcResourceInfoId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcState": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } } - }, - "vnfVirtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", "required": [ - "id", - "virtualStorageDescId", - "storageResource" + "href" ], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", + "href": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - }, - "vnfcInfo": { - "description": "Information about the VNFC instances.\n", - "type": "array", - "items": { - "description": "This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the provisions defined in table 5.5.3.23-1.\n", + }, + "indicators": { + "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", "required": [ - "id", - "vduId", - "vnfcState" + "href" ], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcResourceInfoId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfcState": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "href": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "vnfcConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "instantiate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "terminate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "terminate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "scale": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "scale": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "scaleToLevel": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "changeFlavour": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "heal": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "heal": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "operate": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "operate": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "changeExtConn": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "createSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "createSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } - } - }, - "revertToSnapshot": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "revertToSnapshot": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } } } } - } } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json index 49192438c..94275fc99 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json @@ -1,5 +1,5 @@ { - "description": "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.\n", + "description": "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. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a\n particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n to be started or to be cancelled. The length of the timeout interval is defined by means outside\n the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n", "type": "object", "oneOf": [ { @@ -60,7 +60,7 @@ "type": "string" }, "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "description": "The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", "type": "string", "enum": [ "INSTANTIATE", @@ -82,7 +82,7 @@ "type": "boolean" }, "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", "type": "object" }, "isCancelPending": { @@ -98,7 +98,7 @@ ] }, "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", "type": "object", "required": [ "status", @@ -106,7 +106,7 @@ ], "properties": { "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, @@ -134,7 +134,7 @@ "type": "object", "properties": { "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about VNFC instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", @@ -225,10 +225,10 @@ } }, "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", + "description": "Information about VL instances that were affected during the lifecycle operation. See note 1 and note 3.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n", "type": "object", "required": [ "id", @@ -287,7 +287,7 @@ } }, "vnfLinkPortIds": { - "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\" structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note.\n", "type": "array", "items": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -302,7 +302,7 @@ } }, "affectedExtLinkPorts": { - "description": "Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about external VNF link ports that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", @@ -359,7 +359,7 @@ } }, "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", @@ -428,15 +428,15 @@ } }, "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\" as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfConfigurableProperties": { @@ -456,11 +456,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -472,10 +472,10 @@ "type": "string" }, "vnfcInfoModifications": { - "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", + "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12.\n", "type": "array", "items": { - "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. It shall comply with the provisions defined in table 5.5.3.24-1.\n", + "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n", "type": "object", "required": [ "id", @@ -495,10 +495,47 @@ } } }, + "affectedVipCps": { + "description": "Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified virtual IP CP instances.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId", + "changeType" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED" + ] + } + } + } + }, "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about changed external connectivity, if applicable. See note 1.\n", "type": "array", "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", "type": "object", "required": [ "id", @@ -539,7 +576,7 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", "required": [ "id", @@ -578,15 +615,23 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", "required": [ "cpdId" @@ -597,10 +642,10 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [ { "required": [ @@ -623,25 +668,29 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", "type": "object", "anyOf": [ { @@ -678,12 +727,20 @@ "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", @@ -700,7 +757,7 @@ ] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -709,11 +766,11 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", "required": [ "minAddress", @@ -754,7 +811,7 @@ } }, "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 5.5.3.21-1.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfConfigurableProperties": { @@ -774,11 +831,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -795,6 +852,99 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence.\n", + "type": "object", + "required": [ + "id", + "coordinationActionName", + "startTime", + "endpointType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance\n", + "type": "string", + "enum": [ + "MGMT", + "VNF" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10) that were rejected by 503 error which means they will be tried again after a delay. See note 5.\n", + "type": "object", + "required": [ + "coordinationActionName", + "rejectionTime", + "endpointType", + "delay" + ], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance\n", + "type": "string", + "enum": [ + "MGMT", + "VNF" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json index 98c6928cf..d2d77d011 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json @@ -1,8 +1,7 @@ { - "type": "array", - "items": - { - "description": "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.\n", + "type": "array", + "items": { + "description": "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. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a\n particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n to be started or to be cancelled. The length of the timeout interval is defined by means outside\n the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n", "type": "object", "oneOf": [{ "required": [ @@ -62,7 +61,7 @@ "type": "string" }, "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", + "description": "The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n", "type": "string", "enum": [ "INSTANTIATE", @@ -84,7 +83,7 @@ "type": "boolean" }, "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest\n", "type": "object" }, "isCancelPending": { @@ -100,7 +99,7 @@ ] }, "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", "type": "object", "required": [ "status", @@ -108,7 +107,7 @@ ], "properties": { "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, @@ -136,7 +135,7 @@ "type": "object", "properties": { "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about VNFC instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", @@ -227,10 +226,10 @@ } }, "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n", + "description": "Information about VL instances that were affected during the lifecycle operation. See note 1 and note 3.\n", "type": "array", "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\n", + "description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n", "type": "object", "required": [ "id", @@ -289,7 +288,7 @@ } }, "vnfLinkPortIds": { - "description": "Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. Each identifier references a \"VnfLinkPortInfo\" structure. Shall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related “VnfLinkPortInfo” structures are present (case \"added\") or have been present (case \"removed\") in the “VnfVirtualLinkResourceInfo” or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the \"networkResource\" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\n", + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\" structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResourceInfo\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note.\n", "type": "array", "items": { "description": "An identifier that is unique within a VNF descriptor.\n", @@ -304,7 +303,7 @@ } }, "affectedExtLinkPorts": { - "description": "Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about external VNF link ports that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n", @@ -361,7 +360,7 @@ } }, "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. See note 1.\n", "type": "array", "items": { "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", @@ -430,15 +429,15 @@ } }, "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\" as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", as defined in clause 5.5.2.12..\n", "type": "string" }, "vnfConfigurableProperties": { @@ -458,11 +457,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". See note.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -474,10 +473,10 @@ "type": "string" }, "vnfcInfoModifications": { - "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", + "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12.\n", "type": "array", "items": { - "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. It shall comply with the provisions defined in table 5.5.3.24-1.\n", + "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n", "type": "object", "required": [ "id", @@ -497,10 +496,47 @@ } } }, + "affectedVipCps": { + "description": "Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified virtual IP CP instances.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId", + "changeType" + ], + "properties": { + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED" + ] + } + } + } + }, "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "description": "Information about changed external connectivity, if applicable. See note 1.\n", "type": "array", "items": { + "description": "This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n", "type": "object", "required": [ "id", @@ -541,7 +577,7 @@ "description": "Link ports of this VL.\n", "type": "array", "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", "type": "object", "required": [ "id", @@ -580,15 +616,23 @@ "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" } } } }, "currentVnfExtCpData": { - "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n", + "description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note.\n", "type": "array", "items": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", + "description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n", "type": "object", "required": [ "cpdId" @@ -599,10 +643,10 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", "type": "object", "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", + "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n CP instance representing a subport that is to be created, or an external CP instance that is to be\n created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n operation, or for an existing external CP instance that is to be re-configured or added to a\n particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n the pre-configured address information for the connection point from the resource representing\n the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n", "anyOf": [{ "required": [ "linkPortId" @@ -624,25 +668,29 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "createExtLinkPort": { + "description": "Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes \n shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note.\n", "type": "array", "items": { - "description": "This type represents network protocol data.\n", + "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", "type": "object", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "description": "Identifier of layer(s) and protocol(s). See note.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", + "description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVIΓÇÖs transport technology.\n", "type": "object", "anyOf": [{ "required": [ @@ -677,12 +725,20 @@ "type": "string", "format": "MAC" }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, "segmentationId": { - "description": "Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n", + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", "type": "string" }, "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", "type": "array", "items": { "type": "object", @@ -699,7 +755,7 @@ ] }, "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", @@ -708,11 +764,11 @@ } }, "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", "type": "integer" }, "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n", "type": "object", "required": [ "minAddress", @@ -753,7 +809,7 @@ } }, "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\n", + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 5.5.3.21-1.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n", "type": "object", "properties": { "vnfConfigurableProperties": { @@ -773,11 +829,11 @@ "type": "string" }, "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". See note 2.\n", "type": "string" }, "vnfSoftwareVersion": { @@ -794,6 +850,99 @@ "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence.\n", + "type": "object", + "required": [ + "id", + "coordinationActionName", + "startTime", + "endpointType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance\n", + "type": "string", + "enum": [ + "MGMT", + "VNF" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 10) that were rejected by 503 error which means they will be tried again after a delay. See note 5.\n", + "type": "object", + "required": [ + "coordinationActionName", + "rejectionTime", + "endpointType", + "delay" + ], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance\n", + "type": "string", + "enum": [ + "MGMT", + "VNF" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", @@ -909,5 +1058,5 @@ } } } - } +} } \ No newline at end of file -- GitLab From b4a5d1b086753b7fa8a992bd94b43783b646e262 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:01:46 +0500 Subject: [PATCH 130/211] comment out unused variables --- .../Notifications.robot | 8 ++-- .../environment/variables.txt | 45 ++++++++++--------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/Notifications.robot b/SOL002/VNFLifecycleManagement-API/Notifications.robot index 45251879f..e7173128e 100644 --- a/SOL002/VNFLifecycleManagement-API/Notifications.robot +++ b/SOL002/VNFLifecycleManagement-API/Notifications.robot @@ -87,7 +87,7 @@ Check VNF LCM Operation Occurrence Start Notification Http POST Request Body Jso Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification VNF LCM Operation Occurrence Start Handler ${callback_endpoint_fwd} ${type} START - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -110,7 +110,7 @@ Check VNF LCM Operation Occurrence Result Notification Http POST Request Body Js Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification VNF LCM Operation Occurrence Result Handler ${callback_endpoint_fwd} ${type} RESULT - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -133,7 +133,7 @@ Check VNF Identifier Creation Notification Http POST Request Body Json Schema Is Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification VNF Identifier Creation Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -156,7 +156,7 @@ Check VNF Identifier Deletion Notification Http POST Request Body Json Schema Is Check VNF Identifier Deletion Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification VNF Identifier Deletion Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt index 2b40b0675..c9eb2f7be 100644 --- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt @@ -1,10 +1,10 @@ *** Variables *** ${VNFM_HOST} localhost # Hostname of the VNFM ${VNFM_PORT} 8080 # Listening port of the VNFM -${NFVO_HOST} localhost # Hostname of the NFVO -${NFVO_PORT} 8081 # Listening port of the NFVO +#${NFVO_HOST} localhost # Hostname of the NFVO +#${NFVO_PORT} 8081 # Listening port of the NFVO ${VNFM_SCHEMA} https -${NFVO_SCHEMA} https +#${NFVO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${CONTENT_TYPE} application/json @@ -15,35 +15,35 @@ ${apiRoot} / ${apiName} vnflcm ${apiMajorVersion} v2 ${AUTH_USAGE} 1 -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX +#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX ${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfInstanceId_NoSnapshotTask} vnfInstanceIdForWhichSnapshotResourceDoesNotExist ${vnfInstanceId_NOT_INSTANTIATED} vnfResourceIsInNOT_INSTANTIATEDstate -${badVnfInstanceId} wrongId +#${badVnfInstanceId} wrongId ${instantiatedVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Change with an instantiated vnfInstanceID -${conflicVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${vnfInstanceName} Test-VnfInstance -${vnfInstanceDescription} description vnf -${vnfInstanceDescription_Update} Updated description vnf -${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT -${ACCEPT_PLAIN} text/plain -${ACCEPT_ZIP} application/zip -${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c -${ARTIFACT_TYPE} application/octet-stream -${ARTIFACT_ID} artifactId -${WRONG_ACCEPT} application/json +#${conflicVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +#${vnfInstanceName} Test-VnfInstance +#${vnfInstanceDescription} description vnf +#${vnfInstanceDescription_Update} Updated description vnf +#${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT +#${ACCEPT_PLAIN} text/plain +#${ACCEPT_ZIP} application/zip +#${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c +#${ARTIFACT_TYPE} application/octet-stream +#${ARTIFACT_ID} artifactId +#${WRONG_ACCEPT} application/json ${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${CancelMode} GRACEFUL ${VNFM_DUPLICATION} 0 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${VnfLcmOperationOccurrenceNotification} {} -${VnfIdentifierCreationNotification} {} -${VnfIdentifierDeletionNotification} {} +#${VnfLcmOperationOccurrenceNotification} {} +#${VnfIdentifierCreationNotification} {} +#${VnfIdentifierDeletionNotification} {} ${notInstantiatedVnfInstanceId} NOT_INSTANTIATED_VNF_INSTANCE_ID ${NOT_EXISTANT_VNF_INSTANCE_ID} NOT_EXISTANT_VNF_INSTANCE_ID -${SYNC_MODE} 0 +#${SYNC_MODE} 0 ${PAGING_SUPPORTED} 0 @@ -56,7 +56,7 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 +#${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -96,6 +96,7 @@ ${descriptorType} SOL006 ${check_multiple_instances} 0 #############internal variables used for descriptor parsing################ + ${tosca_type_VDU_compute} tosca.nodes.nfv.Vdu.Compute ${tosca_type_VNF} tosca.nodes.nfv.VNF ${tosca_type_virtual_link} tosca.nodes.nfv.VnfVirtualLink @@ -117,4 +118,4 @@ ${Provider} ${Product_Name} ${Software_Version} ${Descriptor_Version} -${Flavour_ID} +${Flavour_ID} \ No newline at end of file -- GitLab From 2347aa49ec66779e9388ad88cb8eda05a602a8bb Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 14:27:25 +0500 Subject: [PATCH 131/211] update versions to 3.5.1 --- SOL002/README.md | 3 +- .../ApiVersion.robot | 20 ++++++------ .../CancelOperationTask.robot | 14 ++++---- .../ChangeCurrentVNFPackageTask.robot | 12 +++---- .../ChangeExternalVNFConnectivityTask.robot | 12 +++---- .../ChangeVNFFlavourTask.robot | 14 ++++---- .../CreateVNFSnapshotTask.robot | 16 +++++----- .../FailOperationTask.robot | 14 ++++---- .../HealVNFTask.robot | 14 ++++---- .../IndividualSubscription.robot | 10 +++--- .../IndividualVNFInstance.robot | 16 +++++----- .../IndividualVNFSnapshot.robot | 14 ++++---- .../IndividualVnfLcmOperationOccurence.robot | 10 +++--- .../InstantiateVNFTask.robot | 12 +++---- .../NotificationEndpoint.robot | 6 ++-- .../Notifications.robot | 8 ++--- .../OperateVNFTask.robot | 14 ++++---- .../RetryOperationTask.robot | 14 ++++---- .../RevertToVNFSnapshotTask.robot | 14 ++++---- .../RollbackOperationTask.robot | 14 ++++---- .../ScaleVNFTask.robot | 14 ++++---- .../ScaleVNFToLevelTask.robot | 14 ++++---- .../Subscriptions.robot | 32 +++++++++---------- .../TerminateVNFTask.robot | 12 +++---- .../VNFInstances.robot | 26 +++++++-------- .../VNFSnapshots.robot | 28 ++++++++-------- .../VnfLcmOperationOccurences.robot | 28 ++++++++-------- 27 files changed, 202 insertions(+), 203 deletions(-) diff --git a/SOL002/README.md b/SOL002/README.md index a530db164..42df59152 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,5 +2,4 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf - +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot index 3cbf78a9e..c46eaeda0 100644 --- a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot +++ b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot index 459342cb0..3917af8a0 100644 --- a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -14,7 +14,7 @@ Post Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: the resource is in FAILED_TEMP state @@ -27,7 +27,7 @@ Post Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state ... Pre-conditions: operation is not in STARTING, PROCESSING or ROLLING_BACK state - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Post Cancel operation task Not Found ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found ... Pre-conditions: - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot index 37fc722db..183ad22d2 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot @@ -13,7 +13,7 @@ POST Change current VNF Package Task ... Test title: POST Change current VNF Package Task ... Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Change current VNF Package Task - Conflict ... Test title: POST Change current VNF Package Task - Conflict ... Test objective: The objective is to test that the POST method cannot change the current VNF package task when another lifecycle management operation is ongoing. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: There is another lifecycle management operation ongoing. ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Change current VNF Package Task - Method not implemented ... Test title: GET Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Change current VNF Package Task - Method not implemented ... Test title: PUT Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Change current VNF Package Task - Method not implemented ... Test title: PATCH Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Change current VNF Package Task - Method not implemented ... Test title: DELETE Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot index cbccf0f75..3badf1727 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot @@ -13,7 +13,7 @@ POST Change external VNF connectivity ... Test title: POST Change external VNF connectivity ... Test objective: The objective is to test that POST method triggers a change in VNF external connectivity ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ GET Change external VNF connectivity - Method not implemented ... Test title: GET Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT Change external VNF connectivity - Method not implemented ... Test title: PUT Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH Change external VNF connectivity - Method not implemented ... Test title: PATCH Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE Change external VNF connectivity - Method not implemented ... Test title: DELETE Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST Change external VNF connectivity Conflict ... Test title: POST Change external VNF connectivity Conflict ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index 0ad837b2c..8c35e05a1 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -13,7 +13,7 @@ POST Change deployment flavour of a vnfInstance ... Test title: POST Change deployment flavour of a vnfInstance ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because of a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Change deployment flavour of a vnfInstance Not Found ... Test title: POST Change deployment flavour of a vnfInstance Not Found ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because the VNF instance resource is not found. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Change deployment flavour VNFInstance - Method not implemented ... Test title: GET Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Change deployment flavour VNFInstance - Method not implemented ... Test title: PUT Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Change deployment flavour VNFInstance - Method not implemented ... Test title: PATCH Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Change deployment flavour VNFInstance - Method not implemented ... Test title: DELETE Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot b/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot index 3befe481a..7d371ae37 100644 --- a/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Create VNF Snapshot Task ... Test title: POST Create VNF Snapshot Task ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Create VNF Snapshot Task - NOT FOUND ... Test title: POST Create VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request for a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Create VNF Snapshot Task - CONFLICT ... Test title: POST Create VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Create VNF Snapshot Task - UNPROCESSIBLE ENTITY ... Test title: POST Create VNF Snapshot Task - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the provided identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Post-Conditions: none @@ -65,7 +65,7 @@ GET Create VNF Snapshot Task - Method not implemented ... Test title: GET Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PUT Create VNF Snapshot Task - Method not implemented ... Test title: PUT Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Create VNF Snapshot Task - Method not implemented ... Test title: PATCH Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE Create VNF Snapshot Task - Method not implemented ... Test title: DELETE Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot index 00c244dce..5c7ac23e5 100644 --- a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot @@ -12,7 +12,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation if that operation has experienced a failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Fail operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Fail operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method cannot mark as "finally failed" due to confilct with the state of LCM Operation Occurrence ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Fail operation task Not Found ... Test title: POST Fail operation task Not Found ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is not supported ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot index 3b72583ed..c8b7a0757 100644 --- a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot @@ -13,7 +13,7 @@ POST Heal a vnfInstance ... Test title: POST Heal a vnfInstance ... Test objective: The objective is to test that POST method heal a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Heal a vnfInstance (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Heal a vnfInstance Not Found ... Test title: POST Heal a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Heal VNFInstance - Method not implemented ... Test title: GET Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Heal VNFInstance - Method not implemented ... Test title: PUT Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Heal VNFInstance - Method not implemented ... Test title: PATCH Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Heal VNFInstance - Method not implemented ... Test title: DELETE Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot index 45052754d..8195d8e7c 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the Get individual subscription ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test that the DELETE method removes an individual subscription ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index c50fd9f01..bf89b6d3e 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -18,7 +18,7 @@ POST Individual VNFInstance - Method not implemented ... Test title: POST Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Information about an individual VNF Instance ... Test title: GET Information about an individual VNF Instance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PUT Individual VNFInstance - Method not implemented ... Test title: PUT Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not modified @@ -56,7 +56,7 @@ PATCH Individual VNFInstance ... Test title: PATCH Individual VNFInstance ... Test objective: This method modifies an individual VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance modified @@ -69,7 +69,7 @@ PATCH Individual VNFInstance Precondition failed ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to that the modification of individual VNFInstance fails because precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ PATCH Individual VNFInstance Conflict ... Test title: PATCH Individual VNFInstance Conflict ... Test objective: The objective is to verify that modification operation cannot be executed currently, due to a conflict with the state of the VNF instance resource because another LCM Operation is ongoing. ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ DELETE Individual VNFInstance ... Test title: DELETE Individual VNFInstance ... Test objective: The objective is to delete a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance deleted @@ -107,7 +107,7 @@ DELETE Individual VNFInstance Conflict ... Test title: DELETE Individual VNFInstance Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot index d97136967..b004814e3 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot @@ -8,7 +8,7 @@ POST Individual VNF Snapshot - Method not implemented ... Test title: POST Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -20,7 +20,7 @@ GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -33,7 +33,7 @@ GET Information about an individual VNF Snapshot - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot fails when using an invalid resource identifier. ... Pre-conditions: At least one individual VNF Snapshot is available in the NFV-MANO. - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ PUT Individual VNF Snapshot - Method not implemented ... Test title: PUT Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF Snapshot not modified @@ -58,7 +58,7 @@ PATCH Individual VNF Snapshot - Method not implemented ... Test title: PATCH Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ DELETE Individual VNF Snapshot ... Test title: DELETE Individual VNF Snapshot ... Test objective: The objective is to delete a VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF Snapshot deleted @@ -82,7 +82,7 @@ DELETE Individual VNF Snapshot - Conflict ... Test title: DELETE Individual VNF Snapshot Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF Snapshot resource. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: VNF snapshot is in use by some operation such as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 1b6401654..941e30a85 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -10,7 +10,7 @@ Post Individual VNF LCM OP occurrences - Method not implemented ... Test title: Post Individual VNF LCM OP occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -22,7 +22,7 @@ Get status information about multiple VNF instances ... Test title: Get status information about multiple VNF instances ... Test objective: The objective is to test that this method retrieve status information about a VNF lifecycle management operation occurrence ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT status information about multiple VNF instances - Method not implemented ... Test title: PUT status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH status information about multiple VNF instances - Method not implemented ... Test title: PATCH status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE status information about multiple VNF instances - Method not implemented ... Test title: DELETE status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot index ec1d6faeb..98b90aeed 100644 --- a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot @@ -15,7 +15,7 @@ POST Instantiate a vnfInstance ... Test title: POST Instantiate a vnfInstance ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ POST Instantiate a vnfInstance Conflict ... Test title: POST Instantiate a vnfInstance Conflict ... Test objective: The objective is to verify that the instantiation of the vnf cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Instantiate VNFInstance - Method not implemented ... Test title: GET Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ PUT Instantiate VNFInstance - Method not implemented ... Test title: PUT Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PATCH Instantiate VNFInstance - Method not implemented ... Test title: PATCH Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ DELETE Instantiate VNFInstance - Method not implemented ... Test title: DELETE Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot index 375066cc0..d1cb5be94 100644 --- a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ VNF LCM Operation Occurrence Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test that VNF LCM Operation Occurrence Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test that VNF Identifier Creation Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF Identifier Creation Notification is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test that VNF Identifier Deletion Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF Identifier Deletion Notification is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/Notifications.robot b/SOL002/VNFLifecycleManagement-API/Notifications.robot index e7173128e..bf1f50497 100644 --- a/SOL002/VNFLifecycleManagement-API/Notifications.robot +++ b/SOL002/VNFLifecycleManagement-API/Notifications.robot @@ -13,7 +13,7 @@ VNF LCM Operation Occurrence Start Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ VNF LCM Operation Occurrence Result Notification ... Test title: VNF LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot index eaf8b0836..d068edd2c 100644 --- a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot @@ -13,7 +13,7 @@ POST Operate a vnfInstance ... Test title: POST Operate a vnfInstance ... Test objective: The objective is to test that POST method operate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: the VNF instance resource is in NOT_INSTANTIATED state - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Operate a vnfInstance Not Found ... Test title: POST Operate a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing ... Pre-conditions: the VNF instance resource is in not existing - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Operate VNFInstance - Method not implemented ... Test title: GET Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Operate VNFInstance - Method not implemented ... Test title: PUT Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Operate VNFInstance - Method not implemented ... Test title: PATCH Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Operate VNFInstance - Method not implemented ... Test title: DELETE Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot index 15f3ebd8c..63b9e7eb7 100644 --- a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot @@ -14,7 +14,7 @@ POST Retry operation task ... Test title: POST Retry operation task ... Test objective: The objective is to test that POST method The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that the retry operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. (i.e. the VNF instance resource is not in FAILED_TEMP state) ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Retry operation task Not Found ... Test title: POST Retry operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.14.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.14.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot b/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot index 3f14f220d..08f9b5441 100644 --- a/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Revert to VNF Snapshot Task ... Test title: POST Revert to VNF Snapshot Task ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Revert to VNF Snapshot Task - NOT FOUND ... Test title: POST Revert to VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Revert to VNF Snapshot Task - CONFLICT ... Test title: POST Revert to VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Revert to VNF Snapshot Task - Method not implemented ... Test title: GET Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Revert to VNF Snapshot Task - Method not implemented ... Test title: PUT Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Revert to VNF Snapshot Task - Method not implemented ... Test title: PATCH Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Revert to VNF Snapshot Task - Method not implemented ... Test title: DELETE Revert to sVNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot index 7e38d0f0c..b32bd021f 100644 --- a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot @@ -14,7 +14,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method The POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot index 8e5fe90e5..2e644395e 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -13,7 +13,7 @@ POST Scale a vnfInstance ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Scale VNFInstance - Method not implemented ... Test title: GET Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Scale VNFInstance - Method not implemented ... Test title: PUT Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Scale VNFInstance - Method not implemented ... Test title: PATCH Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Scale VNFInstance - Method not implemented ... Test title: DELETE Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index d1bccb6ee..b7578cf12 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the VNF Scale operation fails when the VNF instance resource is not present ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Scale to level VNFInstance - Method not implemented ... Test title: GET Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Scale to level VNFInstance - Method not implemented ... Test title: PUT Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Scale to level VNFInstance - Method not implemented ... Test title: PATCH Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Scale to level VNFInstance - Method not implemented ... Test title: DELETE Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index 13a1206ac..4f014f930 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The POST method creates a new subscription ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -28,7 +28,7 @@ POST Create a new Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null @@ -41,7 +41,7 @@ POST Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null @@ -54,7 +54,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Subscription - Filter ... Test title: GET Subscriptions - Filter ... Test objective: The objective is Get the list of active subscriptions using a "filter" ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions with all_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ GET subscriptions with exclude_default attribute selector ... Test title: GET subscriptions with exclude_default attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET subscriptions with fields attribute selector ... Test title: GET subscriptions with fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET subscriptions with exclude_fields attribute selector ... Test title: GET subscriptions with exclude_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -169,7 +169,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: check that resources are not deleted @@ -182,7 +182,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple subscriptions to get Paged Response ... Test title: GET information about multiple subscriptions to get Paged Response ... Test objective: The objective is to retrieve information about the subscriptions to get paged response ... Pre-conditions: - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -208,7 +208,7 @@ GET information about multiple subscriptions for Bad Request Response too big ... Test title: GET information about multiple subscriptions for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about subscriptions when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot index a5799b244..633943642 100644 --- a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,7 +13,7 @@ POST Terminate a vnfInstance ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is in NOT_INSTANTIATED state - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Terminate VNFInstance - Method not implemented ... Test title: GET Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Terminate VNFInstance - Method not implemented ... Test title: PUT Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Terminate VNFInstance - Method not implemented ... Test title: PATCH Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Terminate VNFInstance - Method not implemented ... Test title: DELETE Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot index f8dbac29b..1f7eb56e5 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot @@ -12,7 +12,7 @@ POST Create a new vnfInstance ... Test title: POST Create a new vnfInstance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance created @@ -26,7 +26,7 @@ GET information about multiple VNF instances ... Test title: GET information about multiple VNF instances ... Test objective: The objective is to get information about multiples VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ GET information about multiple VNF instances with "all_fields" attribute selecto ... Test title: GET information about multiple VNF instances with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ GET information about multiple VNF instances with "exclude_default" attribute se ... Test title: GET information about multiple VNF instances with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ GET information about multiple VNF instances with "fields" attribute selector ... Test title: GET information about multiple VNF instances with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF instances with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ PUT VNFInstances - Method not implemented ... Test title: PUT VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ PATCH VNFInstances - Method not implemented ... Test title: PATCH VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ DELETE VNFInstances - Method not implemented ... Test title: DELETE VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not deleted @@ -154,7 +154,7 @@ GET information about multiple VNF instances with "exclude_default" and "fields" ... Test title: GET information about multiple VNF instances with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -167,7 +167,7 @@ POST Create a new vnfInstance - UNPROCESSIBLE ENTITY ... Test title: POST Create a new vnfInstance - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that a new VNF instance resource is not created when ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: vnfdId of the referenced VNF package is not in ENABLED state or does not exist. ... Post-Conditions: VNF instance created diff --git a/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot b/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot index 59df66d7e..71689414d 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot @@ -8,7 +8,7 @@ POST Create a new VNF Snapshot ... Test title: POST Create a new VNF Snapshot ... Test objective: The objective is to create a new VNF snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF snapshot is created @@ -22,7 +22,7 @@ GET information about multiple VNF Snapshots ... Test title: GET information about multiple VNF Snapshots ... Test objective: The objective is to get information about multiples VNF snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -35,7 +35,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ GET information about multiple VNF Snapshots with "all_fields" attribute selecto ... Test title: GET information about multiple VNF Snapshots with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ GET information about multiple VNF Snapshots with "exclude_default" attribute se ... Test title: GET information about multiple VNF Snapshots with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET information about multiple VNF Snapshots with "fields" attribute selector ... Test title: GET information about multiple VNF Snapshots with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ GET information about multiple VNF Snapshots with "exclude_default" and "fields" ... Test title: GET information about multiple VNF Snapshots with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -113,7 +113,7 @@ GET information about multiple VNF Snapshots with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF Snapshots with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ GET VNF Snapshots - Bad Request Response too Big ... Test title: GET VNF Snapshots - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshots list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: VNFM does not support paged response. ... Post-Conditions: none @@ -139,7 +139,7 @@ GET VNF Snapshots as Paged Response ... Test title: GET VNF Snapshots as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshots as paged response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: VNFM supports paged response. ... Post-Conditions: none @@ -152,7 +152,7 @@ PUT VNF Snapshots - Method not implemented ... Test title: PUT VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ PATCH VNF Snapshots - Method not implemented ... Test title: PATCH VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -176,7 +176,7 @@ DELETE VNF Snapshots - Method not implemented ... Test title: DELETE VNF Snapshots - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not deleted diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index 37a48e473..f60fda1ca 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -13,7 +13,7 @@ POST VNF LCM operation occurrences - Method not implemented ... Test title: POST VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET status information about multiple VNF LCM operation occurrences ... Test title: GET status information about multiple VNF LCM operation occurrences ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET status information about multiple VNF LCM operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM operation occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET status information about multiple VNF LCM Operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ GET status information about multiple VNF LCM Operation occurrences with "all_fi ... Test title: GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exlude ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ GET status information about multiple VNF LCM Operation occurrences with "fields ... Test title: GET status information about multiple VNF LCM Operation OCC with "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exclud ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ PUT status information about multiple VNF LCM operation occurrences - Method not ... Test title: PUT status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH status information about multiple VNF LCM operation occurrences - Method n ... Test title: PATCH status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE status information about multiple VNF LCM operation occurrences - Method ... Test title: DELETE status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ GET status information about multiple VNF LCM operation occurances to get Paged ... Test title: GET status information about multiple VNF LCM operation occurances to get Paged Response ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences to get paged response. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ GET status information about multiple VNF LCM Operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because Response is too big. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -179,7 +179,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exlude ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" and "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none -- GitLab From 1eee4e7d820692faeef873af922a7cc8bc86d7b1 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:52:50 +0500 Subject: [PATCH 132/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt index c9eb2f7be..4abb29c5c 100644 --- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt @@ -1,10 +1,9 @@ *** Variables *** ${VNFM_HOST} localhost # Hostname of the VNFM ${VNFM_PORT} 8080 # Listening port of the VNFM -#${NFVO_HOST} localhost # Hostname of the NFVO -#${NFVO_PORT} 8081 # Listening port of the NFVO + ${VNFM_SCHEMA} https -#${NFVO_SCHEMA} https + ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${CONTENT_TYPE} application/json @@ -15,35 +14,22 @@ ${apiRoot} / ${apiName} vnflcm ${apiMajorVersion} v2 ${AUTH_USAGE} 1 -#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX + ${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfInstanceId_NoSnapshotTask} vnfInstanceIdForWhichSnapshotResourceDoesNotExist ${vnfInstanceId_NOT_INSTANTIATED} vnfResourceIsInNOT_INSTANTIATEDstate -#${badVnfInstanceId} wrongId + ${instantiatedVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Change with an instantiated vnfInstanceID -#${conflicVnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -#${vnfInstanceName} Test-VnfInstance -#${vnfInstanceDescription} description vnf -#${vnfInstanceDescription_Update} Updated description vnf -#${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT -#${ACCEPT_PLAIN} text/plain -#${ACCEPT_ZIP} application/zip -#${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c -#${ARTIFACT_TYPE} application/octet-stream -#${ARTIFACT_ID} artifactId -#${WRONG_ACCEPT} application/json + ${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${CancelMode} GRACEFUL ${VNFM_DUPLICATION} 0 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -#${VnfLcmOperationOccurrenceNotification} {} -#${VnfIdentifierCreationNotification} {} -#${VnfIdentifierDeletionNotification} {} + ${notInstantiatedVnfInstanceId} NOT_INSTANTIATED_VNF_INSTANCE_ID ${NOT_EXISTANT_VNF_INSTANCE_ID} NOT_EXISTANT_VNF_INSTANCE_ID -#${SYNC_MODE} 0 ${PAGING_SUPPORTED} 0 @@ -56,7 +42,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 73f9a15e8b7b41a87984da46e0ea161c64c947f3 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:10:14 +0200 Subject: [PATCH 133/211] Removing unused variables --- SOL002/VNFLifecycleManagement-API/environment/variables.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt index 4abb29c5c..efe6c5b37 100644 --- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt @@ -90,9 +90,7 @@ ${tosca_type_storage} tosca.nodes.nfv.Vdu.VirtualBlockStorage ${tosca_type_derived_from_VNF} ${VDU_IDs} -${VNF_IDs} -${virtualLink_IDs} -${CP_IDs} + ${Storage_IDs} ${internalCP_IDs} ${externalCP_IDs} -- GitLab From 4dc888ee3c5df49a4cf88b134b4a6e98df098481 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:10:59 +0500 Subject: [PATCH 134/211] comment out unused variables --- SOL002/VNFFaultManagement-API/Alarms.robot | 10 +++++----- SOL002/VNFFaultManagement-API/Notifications.robot | 6 +++--- SOL002/VNFFaultManagement-API/Subscriptions.robot | 12 ++++++------ .../VNFFaultManagement-API/environment/variables.txt | 12 ++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index 799660219..c17c64219 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -384,7 +384,7 @@ GET Alarms Task with filter "vnfcInstanceIds" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Lists Should Be Equal ${item['vnfcInstanceIds']} ${vnfcInstanceIds} END @@ -398,7 +398,7 @@ GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['rootCauseFaultyResource']['faultyResourceType']} ${faultyResourceType} END @@ -412,7 +412,7 @@ GET Alarms Task with filter "eventType" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['eventType']} ${eventType} END @@ -426,7 +426,7 @@ GET Alarms Task with filter "perceivedSeverity" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['perceivedSeverity']} ${PerceivedSeverity} END @@ -440,6 +440,6 @@ GET Alarms Task with filter "probableCause" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['probableCause']} ${probableCause} END \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/Notifications.robot b/SOL002/VNFFaultManagement-API/Notifications.robot index c0c2de23c..bee05f058 100644 --- a/SOL002/VNFFaultManagement-API/Notifications.robot +++ b/SOL002/VNFFaultManagement-API/Notifications.robot @@ -71,7 +71,7 @@ Check Alarm List Rebuilt Notification Http POST Request Body Json Schema Is Check Alarm List Rebuilt Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Alarm List Rebuilt Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -83,7 +83,7 @@ Check Alarm Notification Http POST Request Body Json Schema Is Check Alarm Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Alarm Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -96,7 +96,7 @@ Check Alarm cleared Notification Http POST Request Body Json Schema Is Check Alarm cleared Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Alarm Cleareance Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index a88d02981..887cf3303 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -457,7 +457,7 @@ Get subscriptions with filter "filter_notificationTypes" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} END @@ -470,7 +470,7 @@ Get subscriptions with filter "filter_faultyResourceTypes" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['filter']['faultyResourceTypes']} ${faultyResourceType} END @@ -483,7 +483,7 @@ Get subscriptions with filter "filter_perceivedSeverities" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} END @@ -496,7 +496,7 @@ Get subscriptions with filter "filter_eventTypes" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} END @@ -509,7 +509,7 @@ Get subscriptions with filter "filter_probableCauses" Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" - :FOR ${item} IN @{response['body']} + FOR ${item} IN @{response['body']} Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} END @@ -525,4 +525,4 @@ Check Postcondition Duplicate Subscription exsist Check Response for duplicated subscription Run Keyword If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1 Check HTTP Response Status Code Is 201 Run Keyword If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1 Check HTTP Response Body Json Schema Is FmSubscription - Run Keyword If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0 Check HTTP Response Status Code Is 303 + Run Keyword If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0 Check HTTP Response Status Code Is 303 \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index 8a8be2d2b..194f159e7 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -21,7 +21,7 @@ ${VNFM_ALLOWS_DUPLICATE_SUBS} 0 ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${etags} a modified etag -${wrong_etag} wrong-tag +#${wrong_etag} wrong-tag ${CONTENT_TYPE_PATCH} application/merge-patch+json ${PerceivedSeverity} CRITICAL @@ -35,8 +35,8 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${notification_request} [] @@ -44,9 +44,9 @@ ${notification_response} [] ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${AlarmNotification} {} -${AlarmClearedNotification} {} -${AlarmListRebuiltNotification} {} +#${AlarmNotification} {} +#${AlarmClearedNotification} {} +#${AlarmListRebuiltNotification} {} ${fields} softwareImages,additionalArtifacts -- GitLab From 2b307a6a3faf71dbe73c30d11579f8812dfd67c2 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:47:29 +0500 Subject: [PATCH 135/211] update versions to 3.5.1 --- SOL002/VNFFaultManagement-API/Alarms.robot | 38 ++++++++--------- .../VNFFaultManagement-API/ApiVersion.robot | 20 ++++----- .../EscalatePerceivedSeverityTask.robot | 10 ++--- .../IndividualAlarm.robot | 16 +++---- .../IndividualSubscription.robot | 12 +++--- .../NotificationEndpoint.robot | 6 +-- .../Notifications.robot | 6 +-- .../Subscriptions.robot | 42 +++++++++---------- 8 files changed, 75 insertions(+), 75 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index c17c64219..3d3f35406 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -13,7 +13,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET information about multiple alarms with attribute-based filter ... Test title: GET information about multiple alarms with attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list with attribute-based filter ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET information about multiple alarms with invalid attribute-based filter ... Test title: GET information about multiple alarms with invalid attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ GET information about multiple alarms to get Paged Response ... Test title: GET information about multiple alarms to get Paged Response ... Test objective: The objective is to retrieve information about the alarms to get paged response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ GET information about multiple alarms for Bad Request Response too big ... Test title: GET information about multiple alarms for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ GET information about alarms with attribute-based filter "id" ... Test title: GET information about alarms with attribute-based filter "id" ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ GET information about multiple alarms with attribute-based filter "vnfcInstanceI ... Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -206,7 +206,7 @@ GET information about multiple alarms with attribute-based filter "rootCauseFaul ... Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -220,7 +220,7 @@ GET information about multiple alarms with attribute-based filter "eventType" ... Test title: GET information about multiple alarms with attribute-based filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -234,7 +234,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -248,7 +248,7 @@ GET information about multiple alarms with attribute-based filter "probableCause ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/ApiVersion.robot b/SOL002/VNFFaultManagement-API/ApiVersion.robot index 908536625..ed43b4b33 100644 --- a/SOL002/VNFFaultManagement-API/ApiVersion.robot +++ b/SOL002/VNFFaultManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index 3222b7d65..edf8635e1 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -10,7 +10,7 @@ Escalate the perceived severity ... Test title: Escalate the perceived severity ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -22,7 +22,7 @@ GET Escalate the perceived severity - Method not implemented ... Test title: GET Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the GET HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -34,7 +34,7 @@ PUT Escalate the perceived severity - Method not implemented ... Test title: PUT Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the PUT HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ PATCH Escalate the perceived severity - Method not implemented ... Test title: PATCH Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the PATCH HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ DELETE Escalate the perceived severity - Method not implemented ... Test title: DELETE Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the DELETE HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 84e3acec7..871c5449f 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -15,7 +15,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET information about an individual alarm ... Test title: GET information about an individual alarm ... Test objective: The objective is to read an individual alarm. ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT Individual Alarm - Method not implemented ... Test title: PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH Individual Alarm ... Test title: PATCH Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PATCH Individual Alarm - Precondition failed ... Test title: PATCH Individual Alarm - Precondition failed ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The alarm resource is not modified @@ -79,7 +79,7 @@ PATCH Individual Alarm - Conflict ... Test title: PATCH Individual Alarm - Conflict ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The alarm resource is not modified @@ -93,7 +93,7 @@ DELETE Individual Alarm - Method not implemented ... Test title: DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET information about an individual alarm - Not Found ... Test title: GET information about an individual alarm - Not Found ... Test objective: The objective is to test that GET method fail retrieving status information about individaual Alarms when alarm is not present. ... Pre-conditions: The related alarm doesnot exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot index e390d767c..1b1f291a4 100644 --- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the deletion of a individual subscription resource. ... Pre-conditions: one or more subscription already exsist - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: the subscription is deleted @@ -75,7 +75,7 @@ GET Information about an individual subscription - Not Found ... Test title: GET Information about an individual subscription - Not Found ... Test objective: The objective is to test that GET method fail retrieving individual subscription for VNF alarms subscribed by the client because it is not present. ... Pre-conditions: The subscription with the given id donot exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot index 58e1d97d3..0a49e1e2d 100644 --- a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test that VNF Fault Alarm Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test that VNF Fault Alarm Cleared Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault List Rebuilt Alarm List Rebuilt Notification ... Test objective: The objective is to test that VNF Fault Alarm List Rebuilt Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Notifications.robot b/SOL002/VNFFaultManagement-API/Notifications.robot index bee05f058..ffbbd00ca 100644 --- a/SOL002/VNFFaultManagement-API/Notifications.robot +++ b/SOL002/VNFFaultManagement-API/Notifications.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 887cf3303..ec4b7eff1 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Create a new subscription ... Test title: Create a new subscription ... Test objective: The objective is to create a new subscription. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: Resource created successfully @@ -31,7 +31,7 @@ Create a duplicated Subscription ... Test title: Create a duplicated Subscription ... Test objective: The objective is to create a duplicate subscription. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: duplicated subscription is created if the IUT allows duplications, otherwise the duplicated subscription is not created @@ -54,7 +54,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ PATCH subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -169,7 +169,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -181,7 +181,7 @@ GET Subscriptions to get Paged Response ... Test title: GET Subscriptions to get Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions to get paged response ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -194,7 +194,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -221,7 +221,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -235,7 +235,7 @@ Get subscriptions with filter "filter.faultyResourceTypes" ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -249,7 +249,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -263,7 +263,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -277,7 +277,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -291,7 +291,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From 998e325aacf6f772b670cfa65276d888734f1702 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:40:15 +0500 Subject: [PATCH 136/211] delete unused variables from variables.txt file --- SOL002/VNFFaultManagement-API/environment/variables.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index 194f159e7..a4ff6d8fd 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -20,8 +20,7 @@ ${origResponse}= httpresponse ${VNFM_ALLOWS_DUPLICATE_SUBS} 0 ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d -${etags} a modified etag -#${wrong_etag} wrong-tag +${etags} a modified etag ${CONTENT_TYPE_PATCH} application/merge-patch+json ${PerceivedSeverity} CRITICAL @@ -35,8 +34,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${notification_request} [] @@ -44,10 +41,6 @@ ${notification_response} [] ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -#${AlarmNotification} {} -#${AlarmClearedNotification} {} -#${AlarmListRebuiltNotification} {} - ${fields} softwareImages,additionalArtifacts ${response}= httpresponse -- GitLab From e298b23e0f47d9494ee8a16bddb98236c14ff243 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:04:03 +0200 Subject: [PATCH 137/211] Removing unused variables --- SOL002/VNFFaultManagement-API/environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index a4ff6d8fd..ce47ccabb 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -20,7 +20,7 @@ ${origResponse}= httpresponse ${VNFM_ALLOWS_DUPLICATE_SUBS} 0 ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d -${etags} a modified etag + ${CONTENT_TYPE_PATCH} application/merge-patch+json ${PerceivedSeverity} CRITICAL -- GitLab From de4f68bfe3009aaca0af6dcf0204a3c7d209be2f Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:05:50 +0500 Subject: [PATCH 138/211] comment out unused variables --- SOL002/VNFConfiguration-API/environment/variables.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index 0d4c026b1..bc6fd2709 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -19,8 +19,4 @@ ${apiRoot} / ${apiName} vnfconfig ${apiMajorVersion} v1 -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX - - - - +#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX \ No newline at end of file -- GitLab From 142383049cdc94d608135d90f73aa37bf562eb1e Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:45:02 +0500 Subject: [PATCH 139/211] update versions to 3.5.1 --- SOL002/VNFConfiguration-API/ApiVersion.robot | 20 +++++++++---------- .../VNFConfiguration-API/Configuration.robot | 14 ++++++------- SOL002/VNFConfiguration-API/README.md | 4 ++-- SOL002/VNFIndicator-API/Subscriptions.robot | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/SOL002/VNFConfiguration-API/ApiVersion.robot b/SOL002/VNFConfiguration-API/ApiVersion.robot index b07352770..55a641360 100644 --- a/SOL002/VNFConfiguration-API/ApiVersion.robot +++ b/SOL002/VNFConfiguration-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFConfiguration-API/Configuration.robot b/SOL002/VNFConfiguration-API/Configuration.robot index 870974463..5a0765fd3 100644 --- a/SOL002/VNFConfiguration-API/Configuration.robot +++ b/SOL002/VNFConfiguration-API/Configuration.robot @@ -12,7 +12,7 @@ Set new VNF Configuration ... Test title: Set a new VNF Configuration ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -28,7 +28,7 @@ Get information about a VNF configuration ... Test title: Get information about a VNF configuration ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Get information about a VNF configuration with HTTP Etag ... Test title: Get information about a VNF configuration with HTTP Etag ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration, check the generation by the VNF of an HTTP Etag opaque identifier, and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: none @@ -57,7 +57,7 @@ Set new VNF Configuration - HTTP Etag precondition unsuccessful ... Test title: Set a new VNF Configuration - HTTP Etag precondition unsuccessful ... Test objective: The objective is to test the unsuccess in setting a duplication of VNF configuration identified by an already used HTTP Etag identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured (Test ID 6.3.1.1.1) with a given HTTP Etag identifier. - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The VNF configuration is not modified by the unsuccessful operation and it matches the configuration issued in Test ID 6.3.1.1.1 @@ -71,7 +71,7 @@ POST VNF Configuration - Method not implemented ... Test title: POST VNF Configuration - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ PUT VNF Configuration - Method not implemented ... Test title: PUT VNF Configuration - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ DELETE VNF Configuration - Method not implemented ... Test title: Delete VNF Configuration - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFConfiguration-API/README.md b/SOL002/VNFConfiguration-API/README.md index f5f7677f5..08f2afbea 100644 --- a/SOL002/VNFConfiguration-API/README.md +++ b/SOL002/VNFConfiguration-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI STF 557. +This is a development folder for TTF T015. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2018 +Copyright (c) ETSI 2021 \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index ba59c8166..721ad0acf 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -181,7 +181,7 @@ Create new VNF indicator Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - *** Keywords *** +*** Keywords *** Get VNF Indicators Subscriptions Log Trying to get the list of subscriptions Set Headers {"Accept": "${ACCEPT_JSON}"} -- GitLab From 5f655606ddea165e42cc2befacb651221a5c790f Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 14:33:01 +0500 Subject: [PATCH 140/211] update version to 3.5.1 in README file --- SOL002/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/README.md b/SOL002/README.md index 42df59152..c6fba32e1 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,4 +2,4 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf \ No newline at end of file +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf -- GitLab From 8af9ea881dc4cabc271c88e2134858a707b91751 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:37:25 +0500 Subject: [PATCH 141/211] delete unused variables from variables.txt file --- SOL002/VNFConfiguration-API/environment/variables.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index bc6fd2709..d7a840e02 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -17,6 +17,4 @@ ${CONTENT_TYPE} application/json ${apiRoot} / ${apiName} vnfconfig -${apiMajorVersion} v1 - -#${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX \ No newline at end of file +${apiMajorVersion} v1 \ No newline at end of file -- GitLab From 1a352d956223c785333383c846124fb0b7887ab0 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:01:06 +0200 Subject: [PATCH 142/211] Removing unused variables --- SOL002/VNFConfiguration-API/environment/variables.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SOL002/VNFConfiguration-API/environment/variables.txt b/SOL002/VNFConfiguration-API/environment/variables.txt index d7a840e02..20cc9dee9 100644 --- a/SOL002/VNFConfiguration-API/environment/variables.txt +++ b/SOL002/VNFConfiguration-API/environment/variables.txt @@ -1,7 +1,5 @@ *** Variables *** -${Etag}= an etag -${Etag_modified}= 12345 ${response}= httpresponse ${EM-VNF_HOST} localhost # Hostname of the NFVO @@ -17,4 +15,4 @@ ${CONTENT_TYPE} application/json ${apiRoot} / ${apiName} vnfconfig -${apiMajorVersion} v1 \ No newline at end of file +${apiMajorVersion} v1 -- GitLab From 1f247f56ffd8647f1a412e18699063e04c70c655 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:12:28 +0500 Subject: [PATCH 143/211] comment out unused variables --- SOL002/VNFIndicator-API/environment/variables.txt | 8 ++++---- SOL002/VNFIndicatorNotification-API/Notifications.robot | 2 +- .../environment/variables.txt | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index 83f2ed87b..8c1db1d2c 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** -${PRODUCER_HOST} localhost -${PRODUCER_PORT} 8081 -${PRODUCER_SCHEMA} https +#${PRODUCER_HOST} localhost +#${PRODUCER_PORT} 8081 +#${PRODUCER_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken @@ -49,7 +49,7 @@ ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value -${vnfIndicators} = +#${vnfIndicators} = ${VAR_SEPERATOR} & ${callbackResp} localhost \ No newline at end of file diff --git a/SOL002/VNFIndicatorNotification-API/Notifications.robot b/SOL002/VNFIndicatorNotification-API/Notifications.robot index 8f0c9bc8e..99a055232 100644 --- a/SOL002/VNFIndicatorNotification-API/Notifications.robot +++ b/SOL002/VNFIndicatorNotification-API/Notifications.robot @@ -51,7 +51,7 @@ Check Indicator Value Change Notification Http POST Request Body Json Schema Is Check Indicator Value Change Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Indicator Value Change Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFIndicatorNotification-API/environment/variables.txt b/SOL002/VNFIndicatorNotification-API/environment/variables.txt index ad6eeadd7..39519809b 100644 --- a/SOL002/VNFIndicatorNotification-API/environment/variables.txt +++ b/SOL002/VNFIndicatorNotification-API/environment/variables.txt @@ -4,11 +4,11 @@ ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From ff66878b4092de277770e268af9e21e21410e904 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:40:38 +0500 Subject: [PATCH 144/211] update versions to 3.5.1 --- SOL002/README.md | 2 +- SOL002/VNFIndicator-API/ApiVersion.robot | 20 +++++++------- .../IndividualSubscription.robot | 14 +++++----- .../IndividualVNFindicator.robot | 24 ++++++++--------- .../NotificationEndpoint.robot | 14 +++++----- SOL002/VNFIndicator-API/README.md | 4 +-- SOL002/VNFIndicator-API/Subscriptions.robot | 26 +++++++++---------- SOL002/VNFIndicator-API/VNFIndicators.robot | 26 +++++++++---------- .../VnfIndicatorsInVnfInstanceId.robot | 20 +++++++------- 9 files changed, 75 insertions(+), 75 deletions(-) diff --git a/SOL002/README.md b/SOL002/README.md index c6fba32e1..bb8cbc326 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,4 +2,4 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_nfv-sol002v030501p.pdf diff --git a/SOL002/VNFIndicator-API/ApiVersion.robot b/SOL002/VNFIndicator-API/ApiVersion.robot index 27451adeb..009e8f533 100644 --- a/SOL002/VNFIndicator-API/ApiVersion.robot +++ b/SOL002/VNFIndicator-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualSubscription.robot b/SOL002/VNFIndicator-API/IndividualSubscription.robot index ea2a8d777..b6341cb92 100644 --- a/SOL002/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL002/VNFIndicator-API/IndividualSubscription.robot @@ -10,7 +10,7 @@ GET Individual VNF Indicator Subscription ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test that the retrieval of individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -36,7 +36,7 @@ DELETE Individual VNF Indicator Subscription ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test the deletion of an individual VNF performance indicator subscription. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: The subscription to VNF performance indicators is deleted @@ -49,7 +49,7 @@ DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test that the deletion of an individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -74,7 +74,7 @@ PATCH Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -86,7 +86,7 @@ POST Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot index 037704350..e4a2b6c93 100644 --- a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot @@ -9,7 +9,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get individual performance indicator for a VNF instance ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get individual performance indicator for a VNF instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual VNF Indicator - Method not implemented ... Test title: POST individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual VNF Indicator - Method not implemented ... Test title: PUT individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual VNF Indicator - Method not implemented ... Test title: PATCH individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual VNF Indicator - Method not implemented ... Test title: DELETE individual performance indicator indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -85,7 +85,7 @@ Get Individual Performance Indicator ... Test title: Get Individual Performance Indicator ... Test objective: The objective is to test the retrieval of a performance indicator and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: At least one measure of performance indicator is available.. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -99,7 +99,7 @@ Get Individual Performance Indicator with invalid indicator identifier ... Test title: Get Individual Performance Indicator with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: At least one measure of performance indicator is available. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -112,7 +112,7 @@ POST Individual Performance Indicator - Method not implemented ... Test title: POST Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -124,7 +124,7 @@ PUT Individual Performance Indicator - Method not implemented ... Test title: PUT Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -136,7 +136,7 @@ PATCH Individual Performance Indicator - Method not implemented ... Test title: PATCH Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -148,7 +148,7 @@ DELETE Individual Performance Indicator - Method not implemented ... Test title: DELETE Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/NotificationEndpoint.robot b/SOL002/VNFIndicator-API/NotificationEndpoint.robot index 334efd895..900d42818 100644 --- a/SOL002/VNFIndicator-API/NotificationEndpoint.robot +++ b/SOL002/VNFIndicator-API/NotificationEndpoint.robot @@ -12,7 +12,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test that the POST request triggers VNF Indicator Value Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Supported Indicators Change Notification ... Test title: Supported Indicators Change Notification ... Test objective: The objective is to test that the POST request triggers Supported Indicators Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for supported indicators change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ Test the Notification Endpoint - NOT FOUND ... Test title: Test the Notification Endpoint - UNREACHABLE ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: The notification endpoint is unreachable by the API producer. ... Post-Conditions: none @@ -61,7 +61,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/README.md b/SOL002/VNFIndicator-API/README.md index f5f7677f5..f87dca1d8 100644 --- a/SOL002/VNFIndicator-API/README.md +++ b/SOL002/VNFIndicator-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI STF 557. +This is a development folder for ETSI TTF T015. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2018 +Copyright (c) ETSI 2021 diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 721ad0acf..1d4029333 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET VNF Indicators Subscriptions ... Test title: GET VNF Indicators Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -29,7 +29,7 @@ GET VNF Indicators Subscriptions with attribute-based filter ... Test title: GET VNF Indicators Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions using attribute-based filter and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -43,7 +43,7 @@ GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Indicators Subscriptions with invalid resource endpoint ... Test title: GET VNF Indicators Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF indicator subscription ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -84,7 +84,7 @@ PUT VNF Indicator Subscriptions - Method not implemented ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -96,7 +96,7 @@ PATCH VNF Indicator Subscriptions - Method not implemented ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -108,7 +108,7 @@ DELETE VNF Indicator Subscriptions - Method not implemented ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -120,7 +120,7 @@ GET VNF Indicators Subscriptions to get Paged Response ... Test title: GET VNF Indicators Subscriptions to get Paged Response ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions to get Paged Response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -133,7 +133,7 @@ GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test title: GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -146,7 +146,7 @@ POST Create a new Subscription - Unprocessable Entity ... Test title: POST Create a new Subscription - Unprocessable Entity ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ Create new VNF indicator Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null @@ -173,7 +173,7 @@ Create new VNF indicator Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 0a53a03b2..5393403eb 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -12,7 +12,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -39,7 +39,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -52,7 +52,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: GET all VNF Indicators with malformed authrization token. ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -65,7 +65,7 @@ Get all VNF Indicators without authorization token ... Test title: GET all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -78,7 +78,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -91,7 +91,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: GET all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -104,7 +104,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -140,7 +140,7 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -152,7 +152,7 @@ Get VNF Indicators to get Paged Response ... Test title: Get VNF Indicators to get Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF indicators with Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -165,7 +165,7 @@ Get VNF Indicators - Bad Request Response too Big ... Test title: Get VNF Indicators - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF indicators fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 751f102fc..22d36334c 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -12,7 +12,7 @@ Get Indicators for VNF Instance ... Test title: Get all performance indicators for a VNF instance ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Indicators for VNF Instance with attribute-based filter ... Test title: Get all performance indicators for a VNF instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -40,7 +40,7 @@ Get Indicators for VNF Instance with invalid attribute-based filter ... Test title: Get all performance indicators for a VNF instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -53,7 +53,7 @@ Get Indicators for VNF Instance with invalid resource identifier ... Test title: Get all performance indicators for a VNF instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -66,7 +66,7 @@ POST Indicators for VNF instance - Method not implemented ... Test title: POST performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -78,7 +78,7 @@ PUT Indicators for VNF instance - Method not implemented ... Test title: PUT performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Indicators for VNF instance - Method not implemented ... Test title: PATCH performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -102,7 +102,7 @@ DELETE Indicators for VNF instance - Method not implemented ... Test title: DELETE performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -114,7 +114,7 @@ Get Indicators for VNF Instance to get Paged Response ... Test title: Get Indicators for VNF Instance to get Paged Response ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance to get paged response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -127,7 +127,7 @@ Get Indicators for VNF Instance - Bad Request Response too Big ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none -- GitLab From fde7c051a5e346d60ccee9e58f241c86781d92e7 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 16:48:31 +0500 Subject: [PATCH 145/211] update README file --- SOL002/VNFIndicator-API/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFIndicator-API/README.md b/SOL002/VNFIndicator-API/README.md index f87dca1d8..1e5d7e566 100644 --- a/SOL002/VNFIndicator-API/README.md +++ b/SOL002/VNFIndicator-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTF T015. +This is a development folder for ETSI STF 557. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2021 +Copyright (c) ETSI 2018 \ No newline at end of file -- GitLab From 5eaab654a3e1552ce9ed5cf8ddcbca3c609fbf15 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:47:23 +0500 Subject: [PATCH 146/211] delete unused variables from variables.txt file --- SOL002/VNFIndicator-API/environment/variables.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index 8c1db1d2c..d7d2ae89c 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -1,7 +1,4 @@ *** Variables *** -#${PRODUCER_HOST} localhost -#${PRODUCER_PORT} 8081 -#${PRODUCER_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken @@ -16,7 +13,6 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} vnfind - ${VNFM_CHECKS_NOTIF_ENDPOINT} 0 ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar @@ -28,7 +24,6 @@ ${unreachable_callback_uri} http://not-reachable-uri ${response} some_response_object - ${subscriptionId} f3ae6df7-07e1-47c9-8924-9ebe10343586 ${erroneousSubscriptionId} 442e3ee5-0499-4849-9b31-eb91ce1638f1 # Not existing ID on the subscriptions ${origResponse}= httpresponse @@ -47,9 +42,7 @@ ${SEPERATOR} = ${erroneousVnfInstanceId} erroneousVnfInstanceId ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value - - -#${vnfIndicators} = + ${VAR_SEPERATOR} & ${callbackResp} localhost \ No newline at end of file -- GitLab From 6cca786e12fc3901d996c275c948f3405c5aa63c Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:48:48 +0500 Subject: [PATCH 147/211] delete unused variables from variables.txt file --- SOL002/VNFIndicatorNotification-API/environment/variables.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/SOL002/VNFIndicatorNotification-API/environment/variables.txt b/SOL002/VNFIndicatorNotification-API/environment/variables.txt index 39519809b..17e51a3f7 100644 --- a/SOL002/VNFIndicatorNotification-API/environment/variables.txt +++ b/SOL002/VNFIndicatorNotification-API/environment/variables.txt @@ -4,7 +4,6 @@ ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 1934406b2cc4f1a415cca58c22725e361e4a153f Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:07:25 +0200 Subject: [PATCH 148/211] Removing unused variables --- SOL002/VNFIndicator-API/environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index d7d2ae89c..038ce1412 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -19,7 +19,7 @@ ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies. ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 + ${unreachable_callback_uri} http://not-reachable-uri ${response} some_response_object -- GitLab From 538ce401b545d593e7c2ea12f25ef805635c11f0 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:09:02 +0500 Subject: [PATCH 149/211] comment out unused variables --- .../environment/variables.txt | 12 +++++------- .../Notifications.robot | 4 ++-- .../environment/notifications.txt | 4 ++-- .../environment/variables.txt | 6 +++--- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index ace498e55..6fb4e3772 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -11,29 +11,27 @@ ${apiName} vnfpm ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json -${NEG_AUTHORIZATION} Bearer negativetoken +#${NEG_AUTHORIZATION} Bearer negativetoken ${FIELD_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${AUTH_USAGE} 1 -${VNFM_DUPLICATION} 1 +#${VNFM_DUPLICATION} 1 ${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ${callback_uri} http://localhost ${unreachable_callback_uri} http://not-reachable-uri ${new_callback_uri} http://newcallbackuri-for-PMJobModifications ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${response} http-response ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${subscribe} /subscribe - - +#${subscribe} /subscribe ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId diff --git a/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot b/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot index 195525e9a..7c1c24008 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot +++ b/SOL002/VNFPerformanceManagementNotification-API/Notifications.robot @@ -56,7 +56,7 @@ Check Performance Information Available Notification Http POST Request Body Json Check Performance Information Available Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} @@ -69,7 +69,7 @@ Check Threshold Crossed Notification Http POST Request Body Json Schema Is Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is [Arguments] ${type} Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt index cd1193ae5..df0ade768 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt @@ -3,8 +3,8 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt index 9445631a5..1d1cb159c 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt @@ -2,6 +2,6 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From e64937b3d6903fc086b6e8dabf7eaa247d19a305 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 12:56:56 +0500 Subject: [PATCH 150/211] update versions to 3.5.1 --- .../ApiVersion.robot | 20 ++++++------ .../IndividualPmJob.robot | 18 +++++------ .../IndividualReport.robot | 12 +++---- .../IndividualThreshold.robot | 18 +++++------ .../NotificationEndpoint.robot | 4 +-- .../VNFPerformanceManagement-API/PMJobs.robot | 32 +++++++++---------- .../Thresholds.robot | 22 ++++++------- .../environment/variables.txt | 2 -- 8 files changed, 63 insertions(+), 65 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot index c85bbab47..a9fef7b0d 100644 --- a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot +++ b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot index 9efe99998..4972093e8 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -13,7 +13,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -53,7 +53,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Individual VNF Performance Job ... Test title: PATCH Individual VNF Performance Job ... Test objective: The objective is to test that PATCH method allows to modify an exsisting individual PM job resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ PATCH Individual VNF Performance Job - Precondition failed ... Test title: PATCH Individual VNF Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -117,7 +117,7 @@ PATCH Individual VNF Performance Job - UNPROCESSIBLE ENTITY ... Test title: PATCH Individual VNF Performance Job - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot index fbaf31ae6..b012a52c1 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot @@ -10,7 +10,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot index 3b1ede734..69ebf6916 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -52,7 +52,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not created on the VNFM @@ -77,7 +77,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method allows to modify an Individual threshold resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -102,7 +102,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Preconition failed ... Test objective: The objective is to attempt to modify an individual threshold resource, where the precondition was not met. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -116,7 +116,7 @@ PATCH Individual Threshold - Unprocessible Entity ... Test title: PATCH Individual Threshold - Unprocessible Entity ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: The VNF Performance Threshold is not modified by the operation diff --git a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot index ef27080ce..8c6bb1faa 100644 --- a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test that VNF Performance Information Availability Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test that VNF Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for Threshold Crossed Notification is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index 8de51eb61..a529de0c5 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -12,7 +12,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -81,7 +81,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -95,7 +95,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ POST Create new VNF Performance Monitoring Job - SUCCESSFUL ... Test title: POST Create a new VNF Performance Monitoring Job - SUCCESSFUL ... Test objective: The objective is to test that the POST method creates a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -135,7 +135,7 @@ PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -147,7 +147,7 @@ PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ GET VNF Performance Monitoring Jobs to get Paged Response ... Test title: GET VNF Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs to get Paged response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -184,7 +184,7 @@ GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test title: GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about VNF Performance Monitoring when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -197,7 +197,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default and fields attribut ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default and fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs with exclude_default and fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -210,7 +210,7 @@ POST Create new VNF Performance Monitoring Job - UNPROCESSIBLE ENTITY ... Test title: POST Create a new VNF Performance Monitoring Job - UNPROCESSIBLE ENTITY ... Test objective: The objective is to test that the POST method cannot create a new VNF performance monitoring job when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index 9f9c31401..782e11fab 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -12,7 +12,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ POST Create new Performance Threshold ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test that the POST method creates a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -80,7 +80,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Performance Thresholds with Paged Response ... Test title: GET Performance Thresholds with Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds with Paged response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Performance Thresholds for Bad Request Response too big ... Test title: GET Performance Thresholds for Bad Request Response too big ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ POST Create new Performance Threshold - UNPROCESSIBLE ENTITY ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test that the POST method does not create a new VNF performance threshold when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.3.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index 6fb4e3772..f471f9f0f 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -7,7 +7,6 @@ ${apiRoot} / ${apiMajorVersion} v2 ${apiName} vnfpm - ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json @@ -51,7 +50,6 @@ ${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 ${erroneousReportId} erroneousReportId ${newReportId} newReportId - ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter -- GitLab From 0c17aa911419042f9c50c72efce546e6fbc4c288 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 11:54:38 +0500 Subject: [PATCH 151/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 8 +++----- .../environment/notifications.txt | 3 +-- .../environment/variables.txt | 3 +-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index f471f9f0f..cf8b26b5f 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -10,27 +10,25 @@ ${apiName} vnfpm ${CONTENT_TYPE_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json -#${NEG_AUTHORIZATION} Bearer negativetoken + ${FIELD_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${AUTH_USAGE} 1 -#${VNFM_DUPLICATION} 1 + ${VNFM_CHECKS_NOTIF_ENDPOINT} 1 ${callback_uri} http://localhost ${unreachable_callback_uri} http://not-reachable-uri ${new_callback_uri} http://newcallbackuri-for-PMJobModifications ${callback_port} 9091 ${callback_endpoint} /endpoint -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${response} http-response ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -#${subscribe} /subscribe ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt index df0ade768..67c4b9b13 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/notifications.txt @@ -3,8 +3,7 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt index 1d1cb159c..ea7743322 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagementNotification-API/environment/variables.txt @@ -2,6 +2,5 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file -- GitLab From e0c5e7729ca389522242df8c2f6741c02570db0a Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 29 Oct 2021 17:12:35 +0200 Subject: [PATCH 152/211] Removing unused variables --- SOL002/VNFPerformanceManagement-API/environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index cf8b26b5f..b25a6eec0 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -33,7 +33,7 @@ ${objectInstanceIds} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId ${newPmJobId} newPmJobId -${OrigResponse}= httpresponse + ${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${erroneousThresholdId} erroneousThresholdId -- GitLab From d177df9aaee5819ccd50b4ffd98fb59c4693471c Mon Sep 17 00:00:00 2001 From: muhammadh Date: Thu, 14 Oct 2021 18:22:11 +0500 Subject: [PATCH 153/211] Add New API VNFLCM Coordination --- .../VNFLCMCoordination-API/ApiVersion.robot | 132 ++++++++ .../CancelCoordinationActionTask.robot | 85 +++++ .../Coordinations.robot | 127 ++++++++ .../IndividualCoordinationAction.robot | 84 +++++ SOL002/VNFLCMCoordination-API/README.md | 12 + .../VNFLCMCoordinationKeywords.robot | 300 ++++++++++++++++++ .../environment/variables.txt | 30 ++ .../jsons/LcmCoordRequest.json | 10 + .../schemas/ApiVersionInformation.schema.json | 39 +++ .../schemas/LcmCoord.schema.json | 148 +++++++++ .../schemas/LcmCoords.schema.json | 152 +++++++++ .../schemas/ProblemDetails.schema.Json | 34 ++ indexes/sol_002_index.csv | 7 +- 13 files changed, 1159 insertions(+), 1 deletion(-) create mode 100644 SOL002/VNFLCMCoordination-API/ApiVersion.robot create mode 100644 SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot create mode 100644 SOL002/VNFLCMCoordination-API/Coordinations.robot create mode 100644 SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot create mode 100644 SOL002/VNFLCMCoordination-API/README.md create mode 100644 SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot create mode 100644 SOL002/VNFLCMCoordination-API/environment/variables.txt create mode 100644 SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json create mode 100644 SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json diff --git a/SOL002/VNFLCMCoordination-API/ApiVersion.robot b/SOL002/VNFLCMCoordination-API/ApiVersion.robot new file mode 100644 index 000000000..b1b0cad8c --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/ApiVersion.robot @@ -0,0 +1,132 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.6.1.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.6.1.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.6.1.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.6.1.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot new file mode 100644 index 000000000..1ab88fbde --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -0,0 +1,85 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** + +POST Cancellation of an Ongoing Individual Coordination Action + [Documentation] Test ID: 6.3.6.4.1 + ... Test title: POST Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action has accepted for processing. + ... pre-condition: The status of the related LCM operation occurance is "PROCESSING" + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When there is an Ongoing individual LCM operation coordination action. + ... Post-Condition: none + POST Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 202 + Check HTTP Response Body Should be Empty + +POST Cancellation of an Ongoing Individual Coordination Action - Conflict + [Documentation] Test ID: 6.3.6.4.2 + ... Test title: POST Cancellation of an Ongoing Individual Coordination Action - Conflict + ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action is not successfull due to a conflict with the state of the "Individual coordination action" resource. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: Processing of Individual Coordination Action has 'Finished'. + ... Post-Condition: none + POST Cancellation of an Ongoing Individual Coordination Action not Applicable + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.3 + ... Test title: GET Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that GET method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: ongoing individual coordination + ... Post-Condition: none + GET Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +PUT Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.4 + ... Test title: PUT Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that PUT method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.5 + ... Test title: PATCH Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that PATCH method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 + +DELETE Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.6 + ... Test title: DELETE Cancellation of an Ongoing Individual Coordination Action + ... Test Objective: The objective is to test that DELETE method for cancellation of an ongoing individual coordination Action is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE Cancellation of an Ongoing Individual Coordination Action + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot new file mode 100644 index 000000000..fea972ffe --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -0,0 +1,127 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** + +POST Coordination of LCM Operation Occurance and API Producer has Chosen the Synchronous Mode + [Documentation] Test ID: 6.3.6.2.1 + ... Test title: Post Coordination of an LCM operation occurrence + ... Test Objective: The objective is to test the creation of new Individual Coordination Action, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the synchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Check HTTP Response Status Code Is 201 + Check HTTP Location Header Contains URI of Created Resource + Check HTTP Response Body Json Schema Is LcmCoords + +POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asynchronous Mode + [Documentation] Test ID: 6.3.6.2.2 + ... Test title: Post Coordination of an LCM operation occurrence + ... Test Objective: The objective is to test that the coordination of a LCM operation occurance request has been accepted for processing, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the asynchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode + Check HTTP Response Status Code Is 202 + Check HTTP Location Header Contains URI of Resource That Will be Created + Check HTTP Response Body Should be Empty + +POST Coordination of a LCM Operation Occurance Forbidden + [Documentation] Test ID: 6.3.6.2.3 + ... Test title: Post Coordination of an LCM operation occurrence Forbidden + ... Test Objective: The objective is to verify that the coordination of LCM operation occurance has been rejected. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + Post coordination of LCM operation Occurance is Forbidden + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Coordination of LCM Operation Occurance Conflict + [Documentation] Test ID: 6.3.6.2.4 + ... Test title: Post Coordination of an LCM operation occurrence Conflict + ... Test Objective: The objective is to verify that no coordination actions can be executed currently, due to a conflict with the state of the "Coordinations" resource. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. + ... Post-Condition: none + Post coordination of LCM operation Occurance + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Coordination of LCM Operation Occurance Service Unavailable + [Documentation] Test ID: 6.3.6.2.5 + ... Test title: Post Coordination of an LCM operation occurrence Service Unavailable + ... Test Objective: The objective is to verify that requested coordination operation cannot be executed currently. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: API producer has chosen the synchronous mode + ... Post-Condition: none + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Check HTTP Response Status Code Is 503 + Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.6 + ... Test title: GET Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that GET method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + GET coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +PUT Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.7 + ... Test title: PUT Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that PUT method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +PACTH Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.8 + ... Test title: PATCH Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that PATCH method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 + +DELETE Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.9 + ... Test title: DELETE Coordination of a LCM Operation Occurance - Method not implemented + ... Test Objective: The objective is to test that DELETE method for Resource Coordinations is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE coordination of LCM operation Occurance + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot new file mode 100644 index 000000000..dca7fa494 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot @@ -0,0 +1,84 @@ +*** Settings *** +Resource environment/variables.txt +Resource VNFLCMCoordinationKeywords.robot +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Test Cases *** +POST Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.1 + ... Test title: POST Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that POST method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + POST Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +GET Individual LCM Operation Coordination Results - Coordination is Finished + [Documentation] Test ID: 6.3.6.3.2 + ... Test title: GET Individual LCM Operation Coordination Results + ... Test Objective: The objective is to test that coordination is finished and GET method reads individual LCM operation coordination results successfully, and perform a JSON schema validation of the returned LCM coordination data structure. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When the Individual LCM Operation Coordination is finished + ... Post-Condition: none + GET Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + +GET Individual LCM Operation Coordination Results - Coordination is Not Finished Yet + [Documentation] Test ID: 6.3.6.3.3 + ... Test title: GET Individual LCM Operation Coordination Results + ... Test Objective: The objective is to test that GET method checks that whether Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. + ... pre-condition: LCM operation occurrence resource is in Processing state + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: When the Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. + ... Post-Condition: none + GET Individual LCM Operation Coordination Results of Ongoing Coordination Action + Check HTTP Response Status Code Is 202 + Check HTTP Response Body Should be Empty + +PUT Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.4 + ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that PUT method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PUT Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +PATCH Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.5 + ... Test title: PATCH Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that PATCH method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + PATCH Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 + +DELETE Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.6 + ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented + ... Test Objective: The objective is to test that DELETE method for individual LCM operation coordination results is not implemented. + ... pre-condition: none + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Condition: none + DELETE Individual LCM Operation Coordination Results + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md new file mode 100644 index 000000000..cad5572c4 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -0,0 +1,12 @@ +# NFV API Tests + +This is a development folder for ETSI TTFT015. +It includes the NFV API conformance test descriptions. + +## License + +Any software in this repository is released under the ETSI Software License. +Licensing information is available in the attached LICENSE file. + + +Copyright (c) ETSI 2021 \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot new file mode 100644 index 000000000..e79fb0209 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -0,0 +1,300 @@ +*** Settings *** +Resource environment/variables.txt +Library String +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library OperatingSystem +Library DependencyLibrary + +*** Keywords *** + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema}= Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Check HTTP Response Body Should be Empty + Should Be Empty ${response['body']} + +POST Individual LCM Operation Coordination Results + Log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results of Ongoing Coordination Action + Log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${ongoing_coordination_action_id} + ${outputResponse}= Output response${ongoing_coordination_action_id} + Set Global Variable ${response} ${outputResponse} + +PUT Individual LCM Operation Coordination Results + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Individual LCM Operation Coordination Results + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE Individual LCM Operation Coordination Results + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + + +POST Cancellation of an Ongoing Individual Coordination Action + Log Trying to initiates the cancellation of an ongoing coordination action. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST Cancellation of an Ongoing Individual Coordination Action not Applicable + Log Trying to initiates the cancellation of an ongoing coordination action. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE Cancellation of an Ongoing Individual Coordination Action + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Location Header Contains URI of Created Resource + ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${indiviCoordActionId} + +Check HTTP Location Header Contains URI of Resource That Will be Created + ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${indiviCoordActionId} + +Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + ${delayTime}= Get Value From Json ${response['headers']} $..Retry-After + Should Not Be Empty ${delayTime} + +Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode + Pass Execution If ${synchronous_mode} == 1 The API producer is in Synchronous Mode. Skipping the test. + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance is Forbidden + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Log The coordination action request should be rejected + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET coordination of LCM operation Occurance + Log Trying to perform a GET. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT coordination of LCM operation Occurance + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH coordination of LCM operation Occurance + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE coordination of LCM operation Occurance + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt new file mode 100644 index 000000000..cd36ffa9e --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -0,0 +1,30 @@ +*** Variables *** + +${synchronous_mode} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. + +${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. +${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. + +${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions + +${AUTH_USAGE} 1 +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 + +${apiRoot} / +${apiName} lcmcoord +${apiMajorVersion} v1 +${response}= httpresponse + +${EM-VNF_HOST} localhost # Hostname of the NFVO +${EM-VNF_PORT} 8081 # Listening port of the NFVO +${EM-VNF_SCHEMA} https + +${CONTENT_TYPE} application/json +${ACCEPT} application/json \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json new file mode 100644 index 000000000..74f17f714 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json @@ -0,0 +1,10 @@ +{{ + "vnfInstanceId":"{vnfInstanceId}", + "vnfLcmOpOccId":"{vnfLcmOpOccId}", + "lcmOperationType": "{lcmOperationType}", + "coordinationActionName": "{coordinationActionName}", + "_links": {{ + "vnfLcmOpOcc":"", + "vnfInstance":"" + }} +}} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 000000000..a79641197 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "description": "This type represents API version information.\n", + "type": "object", + "required": [ + "uriPrefix", + "apiVersions" + ], + "properties": { + "uriPrefix": { + "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", + "type": "string" + }, + "apiVersions": { + "description": "Version(s) supported for the API signaled by the uriPrefix attribute.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 9.1 (SOL013).\n", + "type": "string" + }, + "isDeprecated": { + "description": "If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false).\nA deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body.\n", + "type": "boolean" + }, + "retirementDate": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json new file mode 100644 index 000000000..fdadd65b7 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/LcmCoord.schema.json @@ -0,0 +1,148 @@ +{ + "description": "This type represents an LCM coordination result.\n", + "type": "object", + "required": [ + "id", + "coordinationResult", + "vnfInstanceId", + "vnfLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO", + "CREATE_SNAPSHOT", + "REVERT_TO_SNAPSHOT", + "CHANGE_VNFPKG" + ] + }, + "coordinationActionName": { + "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", + "type": "string" + }, + "outputParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "vnfLcmOpOcc", + "vnfInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json new file mode 100644 index 000000000..8434d8d67 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json @@ -0,0 +1,152 @@ +{ + "type": "array", + "items": + { + "description": "This type represents an LCM coordination result.\n", + "type": "object", + "required": [ + "id", + "coordinationResult", + "vnfInstanceId", + "vnfLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CANCELLED" + ] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO", + "CREATE_SNAPSHOT", + "REVERT_TO_SNAPSHOT", + "CHANGE_VNFPKG" + ] + }, + "coordinationActionName": { + "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", + "type": "string" + }, + "outputParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "vnfLcmOpOcc", + "vnfInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json b/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json new file mode 100644 index 000000000..2cc052847 --- /dev/null +++ b/SOL002/VNFLCMCoordination-API/schemas/ProblemDetails.schema.Json @@ -0,0 +1,34 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "properties": { + "type": { + "type": "string", + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "format": "URI" + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n" + }, + "status": { + "type": "integer", + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n" + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem.\n" + }, + "instance": { + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "format": "URI" + } + }, + "required": [ + "status", + "detail" + ] + } \ No newline at end of file diff --git a/indexes/sol_002_index.csv b/indexes/sol_002_index.csv index 90992d5b2..38a1633a0 100644 --- a/indexes/sol_002_index.csv +++ b/indexes/sol_002_index.csv @@ -10,7 +10,7 @@ 6.3.2.5,Individual Subscription Resource Endpoint,IndividualSubscription.robot 6.3.2.6,Notifications,../VNFIndicatorNotification-API/Notifications.robot 6.3.2.7,API Version Resource Endpoint,ApiVersion.robot -6.3.3.8, Notification Endpoint,NotificationEndpoint.robot +6.3.2.8, Notification Endpoint,NotificationEndpoint.robot 6.3.3,VNF Performance Management Interface,VNFPerformanceManagement-API 6.3.3.1,PM Jobs Resource Endpoint,PMJobs.robot 6.3.3.2,Individual PM Job Resource Endpoint,IndividualPmJob.robot @@ -51,3 +51,8 @@ 6.3.5.19,Notifications,Notifications.robot 6.3.5.20,API Version Resource Endpoint,ApiVersion.robot 6.3.5.21,Notification Endpoint,NotificationEndpoint.robot +6.3.6,VNF LCM Coordination Interface,VNFLCMCoordination-API +6.3.6.1,API Version Resource Endpoint,ApiVersion.robot +6.3.6.2,Coordinations,Coordinations.robot +6.3.6.3,Individual Coordination Action,IndividualCoordinationAction.robot +6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot -- GitLab From 6624aa48f548170c32f8315b1964f92646d4c5a8 Mon Sep 17 00:00:00 2001 From: muhammadh Date: Fri, 15 Oct 2021 10:16:36 +0500 Subject: [PATCH 154/211] Minor fix in Index and Readme files --- SOL002/VNFLCMCoordination-API/README.md | 2 +- indexes/sol_002_index.csv | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md index cad5572c4..d35b2a100 100644 --- a/SOL002/VNFLCMCoordination-API/README.md +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTFT015. +This is a development folder for ETSI TTF T015. It includes the NFV API conformance test descriptions. ## License diff --git a/indexes/sol_002_index.csv b/indexes/sol_002_index.csv index 38a1633a0..e4673a0c1 100644 --- a/indexes/sol_002_index.csv +++ b/indexes/sol_002_index.csv @@ -2,7 +2,7 @@ 6.3.1,VNF Configuration Interface,VNFConfiguration-API 6.3.1.1,Configuration Resource Endpoint,Configuration.robot 6.3.1.2,API Version Resource Endpoint,ApiVersion.robot -6.3.2, VNF Indicator Interface,VNFIndicator-API +6.3.2,VNF Indicator Interface,VNFIndicator-API 6.3.2.1,VNF Indicators Resource Endpoint,VNFIndicators.robot 6.3.2.2,VNF Indicators related to a VNF Instance Resource Endpoint,VnfIndicatorsInVnfInstanceId.robot 6.3.2.3,Individual VNF Indicator Resource Endpoit,IndividualVNFindicator.robot @@ -10,7 +10,7 @@ 6.3.2.5,Individual Subscription Resource Endpoint,IndividualSubscription.robot 6.3.2.6,Notifications,../VNFIndicatorNotification-API/Notifications.robot 6.3.2.7,API Version Resource Endpoint,ApiVersion.robot -6.3.2.8, Notification Endpoint,NotificationEndpoint.robot +6.3.2.8,Notification Endpoint,NotificationEndpoint.robot 6.3.3,VNF Performance Management Interface,VNFPerformanceManagement-API 6.3.3.1,PM Jobs Resource Endpoint,PMJobs.robot 6.3.3.2,Individual PM Job Resource Endpoint,IndividualPmJob.robot @@ -19,7 +19,7 @@ 6.3.3.5,Individual Threshold Resource Endpoint,IndividualThreshold.robot 6.3.3.8,Notification,../VNFPerformanceManagementNotification-API/Notifications.robot 6.3.3.9,API Version Resource Endpoint,ApiVersion.robot -6.3.3.10, Notification Endpoint,NotificationEndpoint.robot +6.3.3.10,Notification Endpoint,NotificationEndpoint.robot 6.3.4,VNF Fault Management interface,VNFFaultManagement-API 6.3.4.1,Alarms,Alarms.robot 6.3.4.2,Individual Alarm,IndividualAlarm.robot @@ -55,4 +55,4 @@ 6.3.6.1,API Version Resource Endpoint,ApiVersion.robot 6.3.6.2,Coordinations,Coordinations.robot 6.3.6.3,Individual Coordination Action,IndividualCoordinationAction.robot -6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot +6.3.6.4,Cancel Coordination Action Task,CancelCoordinationActionTask.robot \ No newline at end of file -- GitLab From 761c5835a3b43a35914b4b41fc601e69f104564b Mon Sep 17 00:00:00 2001 From: muhammadh Date: Wed, 20 Oct 2021 16:51:04 +0500 Subject: [PATCH 155/211] update README file --- SOL002/VNFLCMCoordination-API/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/README.md b/SOL002/VNFLCMCoordination-API/README.md index d35b2a100..1e5d7e566 100644 --- a/SOL002/VNFLCMCoordination-API/README.md +++ b/SOL002/VNFLCMCoordination-API/README.md @@ -1,6 +1,6 @@ # NFV API Tests -This is a development folder for ETSI TTF T015. +This is a development folder for ETSI STF 557. It includes the NFV API conformance test descriptions. ## License @@ -9,4 +9,4 @@ Any software in this repository is released under the ETSI Software License. Licensing information is available in the attached LICENSE file. -Copyright (c) ETSI 2021 \ No newline at end of file +Copyright (c) ETSI 2018 \ No newline at end of file -- GitLab From 6fb6e1eb0ffa6fd2d5fdec8ac35b9426992551a3 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Thu, 21 Oct 2021 13:06:01 +0500 Subject: [PATCH 156/211] minor fixes --- .../CancelCoordinationActionTask.robot | 2 +- .../VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot | 6 +++--- SOL002/VNFLCMCoordination-API/environment/variables.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot index 1ab88fbde..be0c501dd 100644 --- a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -32,7 +32,7 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict ... Config ID: Config_prod_VE ... Applicability: Processing of Individual Coordination Action has 'Finished'. ... Post-Condition: none - POST Cancellation of an Ongoing Individual Coordination Action not Applicable + POST Cancellation of an Ongoing Individual Coordination Action - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index e79fb0209..097fe0fa7 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -89,7 +89,7 @@ POST Cancellation of an Ongoing Individual Coordination Action ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -POST Cancellation of an Ongoing Individual Coordination Action not Applicable +POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -147,7 +147,7 @@ Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Wi Should Not Be Empty ${delayTime} Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -159,7 +159,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Set Global Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode - Pass Execution If ${synchronous_mode} == 1 The API producer is in Synchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index cd36ffa9e..3533ae3fa 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -1,12 +1,12 @@ *** Variables *** -${synchronous_mode} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. +${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. ${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. ${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. -- GitLab From ae1c4efa5dca70a8959d6b4aae32515af196a017 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Thu, 21 Oct 2021 18:49:59 +0500 Subject: [PATCH 157/211] minor fixes --- .gitignore | 1 + SOL002/VNFLCMCoordination-API/Coordinations.robot | 2 +- .../VNFLCMCoordinationKeywords.robot | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1b6e272e0..94620f93e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ dist/ libspecs/ +/.vscode \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index fea972ffe..1e1077202 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -60,7 +60,7 @@ POST Coordination of LCM Operation Occurance Conflict ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. ... Post-Condition: none - Post coordination of LCM operation Occurance + Post coordination of LCM operation Occurance - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 097fe0fa7..f46ec8bcb 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -39,7 +39,7 @@ GET Individual LCM Operation Coordination Results Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -48,8 +48,8 @@ GET Individual LCM Operation Coordination Results of Ongoing Coordination Action Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${ongoing_coordination_action_id} - ${outputResponse}= Output response${ongoing_coordination_action_id} + Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} + ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results @@ -170,7 +170,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -Post coordination of LCM operation Occurance +Post coordination of LCM operation Occurance - Conflict Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} @@ -207,7 +207,7 @@ PUT coordination of LCM operation Occurance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -- GitLab From 83a0801796a597e1bd6abe34f0d364cdfc6e84de Mon Sep 17 00:00:00 2001 From: muhammadh Date: Mon, 25 Oct 2021 14:45:32 +0500 Subject: [PATCH 158/211] Update robot, keyords, variable.txt Files --- .../CancelCoordinationActionTask.robot | 20 ++- .../Coordinations.robot | 13 +- .../IndividualCoordinationAction.robot | 18 ++- .../VNFLCMCoordinationKeywords.robot | 103 ++++++++---- .../environment/variables.txt | 42 ++--- .../jsons/LcmCoordRequest.json | 12 +- .../schemas/LcmCoords.schema.json | 152 ------------------ 7 files changed, 139 insertions(+), 221 deletions(-) delete mode 100644 SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot index be0c501dd..56f6f36cb 100644 --- a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -36,8 +36,20 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails -GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented +Request a cancellation of an ongoing coordination action without authentication [Documentation] Test ID: 6.3.6.4.3 + ... Test title: Request a cancellation of an ongoing coordination action without authentication + ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used + ... Pre-conditions: none + ... Reference: Clause Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Cancellation of an Ongoing Individual Coordination Action without authorization token + Check HTTP Response Status Code Is 401 + +GET Cancellation of an Ongoing Individual Coordination Action - Method not Implemented + [Documentation] Test ID: 6.3.6.4.4 ... Test title: GET Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that GET method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -49,7 +61,7 @@ GET Cancellation of an Ongoing Individual Coordination Action - Method not Imple Check HTTP Response Status Code Is 405 PUT Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.4 + [Documentation] Test ID: 6.3.6.4.5 ... Test title: PUT Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PUT method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -61,7 +73,7 @@ PUT Cancellation of an Ongoing Individual Coordination Action - Method not Imple Check HTTP Response Status Code Is 405 PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.5 + [Documentation] Test ID: 6.3.6.4.6 ... Test title: PATCH Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PATCH method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none @@ -73,7 +85,7 @@ PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Imp Check HTTP Response Status Code Is 405 DELETE Cancellation of an Ongoing Individual Coordination Action - Method not Implemented - [Documentation] Test ID: 6.3.6.4.6 + [Documentation] Test ID: 6.3.6.4.7 ... Test title: DELETE Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that DELETE method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index 1e1077202..cc60bcc4c 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -21,8 +21,9 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn ... Post-Condition: none Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Check HTTP Response Status Code Is 201 - Check HTTP Location Header Contains URI of Created Resource - Check HTTP Response Body Json Schema Is LcmCoords + Check HTTP Response Body Json Schema Is LcmCoord + Check HTTP Response Header Contains Location + Check Postcondition LcmCoord Exists POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asynchronous Mode [Documentation] Test ID: 6.3.6.2.2 @@ -35,8 +36,8 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asy ... Post-Condition: none Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Check HTTP Response Status Code Is 202 - Check HTTP Location Header Contains URI of Resource That Will be Created Check HTTP Response Body Should be Empty + Check HTTP Response Header Contains Location POST Coordination of a LCM Operation Occurance Forbidden [Documentation] Test ID: 6.3.6.2.3 @@ -60,7 +61,7 @@ POST Coordination of LCM Operation Occurance Conflict ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. ... Post-Condition: none - Post coordination of LCM operation Occurance - Conflict + Post coordination of LCM operation Occurance - conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails @@ -73,9 +74,9 @@ POST Coordination of LCM Operation Occurance Service Unavailable ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none - Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode + Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable Check HTTP Response Status Code Is 503 - Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated + Check HTTP Response Header Contains Retry-After Check HTTP Response Body Json Schema Is ProblemDetails GET Coordination of a LCM Operation Occurance - Method not implemented diff --git a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot index dca7fa494..c62a741d8 100644 --- a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot @@ -47,8 +47,20 @@ GET Individual LCM Operation Coordination Results - Coordination is Not Finished Check HTTP Response Status Code Is 202 Check HTTP Response Body Should be Empty -PUT Individual LCM Operation Coordination Results - Method not implemented +Get Individual LCM Operation Coordination Results without authentication [Documentation] Test ID: 6.3.6.3.4 + ... Test title: Get information about a finished coordination task without authentication + ... Test objective: The objective is to try to read an individual coordination task without using authentication + ... Pre-conditions: none + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET Individual LCM Operation Coordination Results - without authentication + Check HTTP Response Status Code Is 401 + +PUT Individual LCM Operation Coordination Results - Method not implemented + [Documentation] Test ID: 6.3.6.3.5 ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PUT method for individual LCM operation coordination results is not implemented. ... pre-condition: none @@ -60,7 +72,7 @@ PUT Individual LCM Operation Coordination Results - Method not implemented Check HTTP Response Status Code Is 405 PATCH Individual LCM Operation Coordination Results - Method not implemented - [Documentation] Test ID: 6.3.6.3.5 + [Documentation] Test ID: 6.3.6.3.6 ... Test title: PATCH Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PATCH method for individual LCM operation coordination results is not implemented. ... pre-condition: none @@ -72,7 +84,7 @@ PATCH Individual LCM Operation Coordination Results - Method not implemented Check HTTP Response Status Code Is 405 DELETE Individual LCM Operation Coordination Results - Method not implemented - [Documentation] Test ID: 6.3.6.3.6 + [Documentation] Test ID: 6.3.6.3.7 ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that DELETE method for individual LCM operation coordination results is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index f46ec8bcb..61196a33e 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -22,6 +22,16 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition LcmCoord Exists + Log Checking that individual lcm coordination exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordiations/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + Check HTTP Response Body Should be Empty Should Be Empty ${response['body']} @@ -32,25 +42,33 @@ POST Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET Individual LCM Operation Coordination Results - Log Trying to perform a GET. This method should not be implemented + Log Requesting the retrieve of a finished coordination task Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET Individual LCM Operation Coordination Results of Ongoing Coordination Action - Log Trying to perform a POST. This method should not be implemented + Log Requesting the retrieve of an ongoing coordination task Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} + +GET Individual LCM Operation Coordination Results - without authentication + Log Requesting to retrieve a finished coordination task without authentication + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} + ${outputResponse}= Output response + Set Suite Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results Log Trying to perform a PUT. This method should not be implemented @@ -59,7 +77,7 @@ PUT Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH Individual LCM Operation Coordination Results Log Trying to perform a PATCH. This method should not be implemented @@ -68,7 +86,7 @@ PATCH Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE Individual LCM Operation Coordination Results Log Trying to perform a DELETE. This method should not be implemented @@ -77,17 +95,16 @@ DELETE Individual LCM Operation Coordination Results Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - + Set Suite Variable ${response} ${outputResponse} POST Cancellation of an Ongoing Individual Coordination Action Log Trying to initiates the cancellation of an ongoing coordination action. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel + POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. @@ -96,7 +113,15 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} + +POST Cancellation of an Ongoing Individual Coordination Action without authorization token + Log Requesting the cancellation of an ongoing coordination task without authorization + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} GET Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a GET. This method should not be implemented @@ -105,7 +130,7 @@ GET Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PUT Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PUT. This method should not be implemented @@ -114,7 +139,7 @@ PUT Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PATCH. This method should not be implemented @@ -123,7 +148,7 @@ PATCH Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a DELETE. This method should not be implemented @@ -132,20 +157,17 @@ DELETE Cancellation of an Ongoing Individual Coordination Action Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} -Check HTTP Location Header Contains URI of Created Resource - ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location - Should Not Be Empty ${indiviCoordActionId} +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present Check HTTP Location Header Contains URI of Resource That Will be Created ${indiviCoordActionId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${indiviCoordActionId} -Check HTTP Retry-After Header Contains Delay After Which Corrdination Request Will be Repeated - ${delayTime}= Get Value From Json ${response['headers']} $..Retry-After - Should Not Be Empty ${delayTime} - Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations @@ -153,10 +175,10 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. @@ -168,18 +190,31 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} -Post coordination of LCM operation Occurance - Conflict +Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable + Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefServiceUnavailable} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} + +Post coordination of LCM operation Occurance - conflict + Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LcmCoordRequest.json + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefNotProcessing} vnfInstanceHref=${vnfInstanceHref} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${outputResponse}= Output response + Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance is Forbidden Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations @@ -191,7 +226,7 @@ Post coordination of LCM operation Occurance is Forbidden ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} GET coordination of LCM operation Occurance Log Trying to perform a GET. This method should not be implemented @@ -200,7 +235,7 @@ GET coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PUT coordination of LCM operation Occurance Log Trying to perform a PUT. This method should not be implemented @@ -209,7 +244,7 @@ PUT coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} PATCH coordination of LCM operation Occurance Log Trying to perform a PATCH. This method should not be implemented @@ -218,7 +253,7 @@ PATCH coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} DELETE coordination of LCM operation Occurance Log Trying to perform a DELETE. This method should not be implemented @@ -227,7 +262,7 @@ DELETE coordination of LCM operation Occurance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Suite Variable ${response} ${outputResponse} POST API Version Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 3533ae3fa..72d31cc41 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -1,30 +1,36 @@ *** Variables *** - -${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. - -${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f - -${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f - -${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. -${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. - -${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions - ${AUTH_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 - ${apiRoot} / ${apiName} lcmcoord ${apiMajorVersion} v1 ${response}= httpresponse - ${EM-VNF_HOST} localhost # Hostname of the NFVO ${EM-VNF_PORT} 8081 # Listening port of the NFVO ${EM-VNF_SCHEMA} https - ${CONTENT_TYPE} application/json -${ACCEPT} application/json \ No newline at end of file +${ACCEPT} application/json + +${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. + +{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f + +${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. +${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. + +### Template data for coordinationRequest +${vnfInstanceId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationActionName} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${lcmOperationType} INSTANTIATE #Permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions +${vnfLcmOpOccHref} +${vnfInstanceHref} + +### Template data for coordinationRequest for LCMOpp not in PROCESSING state +${vnfLcmOpOccHrefNotProcessing} +${vnfLcmOpOccIdNotProcessing} + +### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request +${vnfLcmOpOccHrefServiceUnavailable} +${vnfLcmOpOccIdServiceUnavailable} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json index 74f17f714..c0cc402f6 100644 --- a/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json +++ b/SOL002/VNFLCMCoordination-API/jsons/LcmCoordRequest.json @@ -3,8 +3,12 @@ "vnfLcmOpOccId":"{vnfLcmOpOccId}", "lcmOperationType": "{lcmOperationType}", "coordinationActionName": "{coordinationActionName}", - "_links": {{ - "vnfLcmOpOcc":"", - "vnfInstance":"" - }} + "_links": {{ + "vnfLcmOpOcc": {{ + "href": "{vnfLcmOpOccHref}" + }}, + "vnfInstance": {{ + "href": "{vnfInstanceHref}" + }} + }} }} \ No newline at end of file diff --git a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json b/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json deleted file mode 100644 index 8434d8d67..000000000 --- a/SOL002/VNFLCMCoordination-API/schemas/LcmCoords.schema.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "type": "array", - "items": - { - "description": "This type represents an LCM coordination result.\n", - "type": "object", - "required": [ - "id", - "coordinationResult", - "vnfInstanceId", - "vnfLcmOpOccId", - "lcmOperationType", - "coordinationActionName", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationResult": { - "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state \"PROCESSING\". ABORT | The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n", - "type": "string", - "enum": [ - "CONTINUE", - "ABORT", - "CANCELLED" - ] - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent VNF lifecycle operation types in VNF LCM operation coordination actions. * INSTANTIATE: Represents the \"Instantiate VNF\" LCM operation. * SCALE: Represents the \"Scale VNF\" LCM operation. * SCALE_TO_LEVEL: Represents the \"Scale VNF to Level\" LCM operation. * CHANGE_FLAVOUR: Represents the \"Change VNF Flavour\" LCM operation. * TERMINATE: Represents the \"Terminate VNF\" LCM operation. * HEAL: Represents the \"Heal VNF\" LCM operation. * OPERATE: Represents the \"Operate VNF\" LCM operation. * CHANGE_EXT_CONN: Represents the \"Change external VNF connectivity\" LCM operation. * MODIFY_INFO: Represents the \"Modify VNF Information\" LCM operation. * CREATE_SNAPSHOT: Represents the \"Create VNF Snapshot\" LCM operation. * REVERT_TO_SNAPSHOT: Represents the \"Revert To VNF Snapshot\" LCM operation. * CHANGE_VNFPKG: Represents the \"Change current VNF package\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO", - "CREATE_SNAPSHOT", - "REVERT_TO_SNAPSHOT", - "CHANGE_VNFPKG" - ] - }, - "coordinationActionName": { - "description": "Indicates the actual LCM coordination action. The coordination actions that a VNF supports are declared in the VNFD.\n", - "type": "string" - }, - "outputParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "warnings": { - "description": "Warning messages that were generated while the operation was executing.\n", - "type": "string" - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807.\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfLcmOpOcc", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } \ No newline at end of file -- GitLab From 3de4c42ab7ab79de6eeb751d2f1076c1a6522b9b Mon Sep 17 00:00:00 2001 From: muhammadh Date: Tue, 26 Oct 2021 19:13:50 +0500 Subject: [PATCH 159/211] Add 403 Forbidden Testcase, Add variables.txt file --- .../Coordinations.robot | 30 +++-- .../VNFLCMCoordinationKeywords.robot | 127 ++++++++++-------- .../environment/variables.txt | 5 +- 3 files changed, 92 insertions(+), 70 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index cc60bcc4c..d415882bd 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -42,8 +42,8 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asy POST Coordination of a LCM Operation Occurance Forbidden [Documentation] Test ID: 6.3.6.2.3 ... Test title: Post Coordination of an LCM operation occurrence Forbidden - ... Test Objective: The objective is to verify that the coordination of LCM operation occurance has been rejected. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... Test Objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence + ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING". The request is performed by a user that has not the grant to run this operation ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none @@ -56,7 +56,7 @@ POST Coordination of LCM Operation Occurance Conflict [Documentation] Test ID: 6.3.6.2.4 ... Test title: Post Coordination of an LCM operation occurrence Conflict ... Test Objective: The objective is to verify that no coordination actions can be executed currently, due to a conflict with the state of the "Coordinations" resource. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... pre-condition: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. @@ -68,8 +68,8 @@ POST Coordination of LCM Operation Occurance Conflict POST Coordination of LCM Operation Occurance Service Unavailable [Documentation] Test ID: 6.3.6.2.5 ... Test title: Post Coordination of an LCM operation occurrence Service Unavailable - ... Test Objective: The objective is to verify that requested coordination operation cannot be executed currently. - ... pre-condition: LCM operation occurrence resource is in Processing state + ... Test Objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately the request, but can perform it sometime in the future. + ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode @@ -79,8 +79,20 @@ POST Coordination of LCM Operation Occurance Service Unavailable Check HTTP Response Header Contains Retry-After Check HTTP Response Body Json Schema Is ProblemDetails -GET Coordination of a LCM Operation Occurance - Method not implemented +POST Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 6.3.6.2.6 + ... Test title: Request a Coordination of an LCM operation occurrence without authentication + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v3.5.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + Post Request for coordination of an LCM operation occurrence without authorization token + Check HTTP Response Status Code Is 401 + +GET Coordination of a LCM Operation Occurance - Method not implemented + [Documentation] Test ID: 6.3.6.2.7 ... Test title: GET Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that GET method for Resource Coordinations is not implemented. ... pre-condition: none @@ -92,7 +104,7 @@ GET Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 PUT Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.7 + [Documentation] Test ID: 6.3.6.2.8 ... Test title: PUT Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PUT method for Resource Coordinations is not implemented. ... pre-condition: none @@ -104,7 +116,7 @@ PUT Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 PACTH Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.8 + [Documentation] Test ID: 6.3.6.2.9 ... Test title: PATCH Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PATCH method for Resource Coordinations is not implemented. ... pre-condition: none @@ -116,7 +128,7 @@ PACTH Coordination of a LCM Operation Occurance - Method not implemented Check HTTP Response Status Code Is 405 DELETE Coordination of a LCM Operation Occurance - Method not implemented - [Documentation] Test ID: 6.3.6.2.9 + [Documentation] Test ID: 6.3.6.2.10 ... Test title: DELETE Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that DELETE method for Resource Coordinations is not implemented. ... pre-condition: none diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 61196a33e..2e568f919 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -37,8 +37,8 @@ Check HTTP Response Body Should be Empty POST Individual LCM Operation Coordination Results Log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -46,8 +46,8 @@ POST Individual LCM Operation Coordination Results GET Individual LCM Operation Coordination Results Log Requesting the retrieve of a finished coordination task - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action} ${outputResponse}= Output response @@ -55,8 +55,8 @@ GET Individual LCM Operation Coordination Results GET Individual LCM Operation Coordination Results of Ongoing Coordination Action Log Requesting the retrieve of an ongoing coordination task - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action} ${outputResponse}= Output response @@ -64,16 +64,16 @@ GET Individual LCM Operation Coordination Results of Ongoing Coordination Action GET Individual LCM Operation Coordination Results - without authentication Log Requesting to retrieve a finished coordination task without authentication - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} PUT Individual LCM Operation Coordination Results Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -81,8 +81,8 @@ PUT Individual LCM Operation Coordination Results PATCH Individual LCM Operation Coordination Results Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -90,8 +90,8 @@ PATCH Individual LCM Operation Coordination Results DELETE Individual LCM Operation Coordination Results Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId} ${outputResponse}= Output response @@ -99,8 +99,8 @@ DELETE Individual LCM Operation Coordination Results POST Cancellation of an Ongoing Individual Coordination Action Log Trying to initiates the cancellation of an ongoing coordination action. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Ongoing_Coordination_Action}/cancel ${outputResponse}= Output response @@ -108,8 +108,8 @@ POST Cancellation of an Ongoing Individual Coordination Action POST Cancellation of an Ongoing Individual Coordination Action - Conflict Log Trying to initiates the cancellation of an ongoing coordination action. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${Id_of_Finished_Coordination_Action}/cancel ${outputResponse}= Output response @@ -125,8 +125,8 @@ POST Cancellation of an Ongoing Individual Coordination Action without authoriza GET Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a GET. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -134,8 +134,8 @@ GET Cancellation of an Ongoing Individual Coordination Action PUT Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -143,8 +143,8 @@ PUT Cancellation of an Ongoing Individual Coordination Action PATCH Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response @@ -152,16 +152,16 @@ PATCH Cancellation of an Ongoing Individual Coordination Action DELETE Cancellation of an Ongoing Individual Coordination Action Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/lcmcoord/${apiMajorVersion}/coordinations/${coordinationId}/cancel ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} + [Arguments] ${CONTENT_TYPE_JSON} + Should Contain ${response['headers']} ${CONTENT_TYPE_JSON} Log Header is present Check HTTP Location Header Contains URI of Resource That Will be Created @@ -171,8 +171,8 @@ Check HTTP Location Header Contains URI of Resource That Will be Created Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} @@ -183,11 +183,11 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Post coordination of LCM operation Occurance and API Producer has Chosen Asynchronous Mode Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 1 The API producer is in Synchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} @@ -195,8 +195,8 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefServiceUnavailable} vnfInstanceHref=${vnfInstanceHref} @@ -207,8 +207,8 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Synchro Post coordination of LCM operation Occurance - conflict Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHrefNotProcessing} vnfInstanceHref=${vnfInstanceHref} @@ -216,22 +216,31 @@ Post coordination of LCM operation Occurance - conflict ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} +Post Request for coordination of an LCM operation occurrence without authorization token + Log Requesting a new coordination task for an LCM Operation occurrence without authorization token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/LcmCoordRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Post coordination of LCM operation Occurance is Forbidden Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Log The coordination action request should be rejected - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${INSUFFICIENT_AUTHORIZATION_TOKEN}"} ${template} = Get File jsons/LcmCoordRequest.json - ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} + ${body}= Format String ${template} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} vnfLcmOpOccHref=${vnfLcmOpOccHref} vnfInstanceHref=${vnfInstanceHref} Post ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} GET coordination of LCM operation Occurance Log Trying to perform a GET. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -239,8 +248,8 @@ GET coordination of LCM operation Occurance PUT coordination of LCM operation Occurance Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -248,8 +257,8 @@ PUT coordination of LCM operation Occurance PATCH coordination of LCM operation Occurance Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response @@ -257,78 +266,78 @@ PATCH coordination of LCM operation Occurance DELETE coordination of LCM operation Occurance Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${outputResponse}= Output response Set Suite Variable ${response} ${outputResponse} POST API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions ${outputResponse}= Output response diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 72d31cc41..1a3bda58a 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -2,6 +2,7 @@ ${AUTH_USAGE} 1 ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${INSUFFICIENT_AUTHORIZATION_TOKEN} Bearer INSUFFICIENT_AUTHORIZATION_TOKEN #The provided authorization token can be insufficient, expired, etc, and server refuses to authorize the request with this token. ${apiRoot} / ${apiName} lcmcoord ${apiMajorVersion} v1 @@ -9,8 +10,8 @@ ${response}= httpresponse ${EM-VNF_HOST} localhost # Hostname of the NFVO ${EM-VNF_PORT} 8081 # Listening port of the NFVO ${EM-VNF_SCHEMA} https -${CONTENT_TYPE} application/json -${ACCEPT} application/json +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json ${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. -- GitLab From 085a2ba3e4f6210fe8d67e564588a25a2ee91cd4 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 27 Oct 2021 10:43:10 +0500 Subject: [PATCH 160/211] minor fixes --- SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot | 2 +- SOL002/VNFLCMCoordination-API/environment/variables.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 2e568f919..db418d425 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -193,7 +193,7 @@ Post coordination of LCM operation Occurance and API Producer has Chosen Asynchr Set Suite Variable ${response} ${outputResponse} Post coordination of LCM operation Occurance and API Producer has Chosen Synchronous Mode - Service Unavailable - Pass Execution If ${synchronous_mode} == 0 The API producer is in Asynchronous Mode. Skipping the test. + Pass Execution If ${SYNCHRONOUS_MODE_SUPPORT} == 0 The API producer is in Asynchronous Mode. Skipping the test. Log Create coordination action by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index 1a3bda58a..bd9307485 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -15,7 +15,7 @@ ${ACCEPT_JSON} application/json ${SYNCHRONOUS_MODE_SUPPORT} 1 #Set it to 0 if API producer supporting Asynchronous mode, and set it to 1 if API producer supporting Synchronous mode. -{coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${coordinationId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${Id_of_Finished_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which has Finished its processing, to test the conflict test suite. ${Id_of_Ongoing_Coordination_Action} 6fc3539c-e602-4afa-8e13-962fb5a7d81f #Id of Coordination action which is currently ongoing. -- GitLab From 5094d87bebd9df432e5c42ea6f5904dacfcb0447 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 27 Oct 2021 16:29:18 +0500 Subject: [PATCH 161/211] declared a variable with appropriate dummy value for better user understanding --- SOL002/VNFLCMCoordination-API/environment/variables.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL002/VNFLCMCoordination-API/environment/variables.txt b/SOL002/VNFLCMCoordination-API/environment/variables.txt index bd9307485..74326462b 100644 --- a/SOL002/VNFLCMCoordination-API/environment/variables.txt +++ b/SOL002/VNFLCMCoordination-API/environment/variables.txt @@ -29,8 +29,8 @@ ${vnfLcmOpOccHref} ${vnfInstanceHref} ### Template data for coordinationRequest for LCMOpp not in PROCESSING state -${vnfLcmOpOccHrefNotProcessing} -${vnfLcmOpOccIdNotProcessing} +${vnfLcmOpOccHrefNotProcessing} not-in-PROCESSING-vnfLcmOpOccHref-for-conflict-scenario +${vnfLcmOpOccIdNotProcessing} not-in-PROCESSING-vnfLcmOpOccId-for-conflict-scenario ### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request ${vnfLcmOpOccHrefServiceUnavailable} -- GitLab From be744b0ff664c8710e396157798c4095f481f176 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 12:50:45 +0500 Subject: [PATCH 162/211] update schemas --- .gitignore | 2 +- .../schemas/ChangeStateNotification.json | 288 +++---- .../schemas/ChangeStateOpOcc.json | 162 ++-- .../schemas/ChangeStateOpOccs.json | 21 +- .../schemas/CimSubscription.json | 204 ++--- .../schemas/CimSubscriptions.json | 25 +- .../InformationChangedNotification.json | 154 ++-- .../schemas/ManoConfigModifications.json | 169 ++--- .../schemas/ManoEntity.json | 701 ++++++++++-------- .../schemas/ManoServiceInterface.json | 372 +++++----- .../ManoServiceInterfaceModifications.json | 186 ++--- .../schemas/ManoServiceInterfaces.json | 88 +-- .../schemas/PeerEntities.json | 65 +- .../schemas/PeerEntity.json | 387 +++++----- SOL009/README.md | 2 +- 15 files changed, 1433 insertions(+), 1393 deletions(-) diff --git a/.gitignore b/.gitignore index 94620f93e..4655030ac 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ build/ dist/ libspecs/ -/.vscode \ No newline at end of file +.vscode/ diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json index fc3b68c99..960b9e7d0 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json @@ -1,151 +1,151 @@ { - "description": "This type represents a Change state operation occurrence.\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "stateChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOperationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "required": [ + "type", + "objectId" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeStateOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "subscription", - "objectInstance", - "changeStateOpOcc" - ] - } - }, - "required": [ - "id", - "notificationType", - "subscriptionId", - "timestamp", - "changeStateOpOccId", - "stateChangedTime", - "changeStateOperationState", - "managedObjectRef", - "_links" - ] - } \ No newline at end of file + "changeStateOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json index f9238e4d2..b0c3c9178 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json @@ -1,85 +1,85 @@ { - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] }, - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ] - } \ No newline at end of file + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json index 7c203be47..9f57c2454 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json @@ -1,7 +1,15 @@ -{ "type": "array", - "items": { +{ + "type": "array", + "items": { "description": "This type represents a Change state operation occurrence. \n", "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -75,13 +83,6 @@ "operationParams": { "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" } - }, - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ] + } } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json index 819a5d99e..1a7e924ed 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json @@ -1,113 +1,113 @@ { - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { "type": "string" } } } }, - "required": [ - "self" - ] + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } } }, - "required": [ - "id", - "callbackUri", - "_links" - ] - } \ No newline at end of file + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json index 6ac082d31..a7578f88d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json @@ -1,14 +1,20 @@ -{ "type": "array", - "items": { +{ + "type": "array", + "items": { "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", "type": "object", "properties": { "manoEntitySubscriptionFilter": { @@ -67,7 +73,7 @@ } }, "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", "type": "array", "items": { "type": "string", @@ -105,13 +111,6 @@ "self" ] } - }, - "required": [ - "id", - "callbackUri", - "_links" - ] - } - - + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json index 941a4bb5c..696f45239 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json @@ -1,81 +1,81 @@ { - "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "informationChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changedInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "self" - ] - } - }, - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "informationChangedTime", - "manoEntityId", - "changedInfo", - "_links" - ] - } \ No newline at end of file + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json index 7970b361e..ea15fde7d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json @@ -1,99 +1,86 @@ { - "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "string" - }, - "clockSyncs": { - "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "description": "This type represents parameters for connecting to an NTP server. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", - "type": "string", - "enum": [ - "NTP", - "OTHER" - ] - }, - "ntpServerInfo": { - "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", - "type": "object", - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "hostname": { - "description": "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", - "type": "string" - } + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. See note.\n", + "type": "string" } - }, - "otherClockSyncParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" } }, - "required": [ - "id", - "type" - ] - } - }, - "clockSyncsDeleteIds": { - "description": "If present, this attribute signals modifications of certain entries in \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } - }, - "defaultLogCompileBySizeValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "defaultLogCompileByTimerValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "manoServiceModifications": { - "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", - "type": "string" - } + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" }, - "required": [ - "id" - ] - } + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json index 388b9e00e..b78f2a698 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json @@ -1,192 +1,272 @@ { - "description": "This type represents an NFV-MANO functional entity.\n", - "type": "object", - "required": [ - "id", - "type", - "name", - "description", - "provider", - "softwareVersion", - "manoConfigurableParams", - "manoApplicationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM" - ] - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "provider": { - "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", - "type": "string" - }, - "softwareVersion": { - "description": "The version of the software of the NFV-MANO functional entity. $ref: \"../components/SOL009_schemas.yaml#/components/schemas/Version\"\n" - }, - "manoEntityComponents": { - "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n", - "type": "array", - "items": { - "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", - "type": "object", - "properties": { - "id": { + "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "type": "array", + "items": { "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" - }, - "manoServiceIds": { - "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } } + } + } + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", + "type": "object", + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" }, - "required": [ - "id" + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + } + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" ] } - }, - "manoServices": { - "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", - "type": "array", - "items": { - "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity.\n", + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", + "type": "object", + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ], + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", "type": "object", "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] }, - "name": { - "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "standardVersion": { + "description": "A version.\n", "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] }, - "description": { - "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "standardVersion": { + "description": "A version.\n", "type": "string" - }, - "manoServiceInterfaceIds": { - "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "minItems": 1 - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "manoServiceInterfaces": { - "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "minItems": 1 - } - }, - "required": [ - "manoServiceInterfaces" - ] } }, "required": [ - "id", - "name", - "description", - "manoServiceInterfaceIds", - "_links" + "nsdFormat", + "standardVersion" ] } - }, - "manoConfigurableParams": { - "description": "# Warning: No definition found in the document ManoConfigurableParams\n" - }, - "manoApplicationState": { - "description": "Information and current values of the NFV-MANO functional entity’s application state. \n", - "type": "object", - "required": [ - "operationalState", - "administrativeState", - "usageState" - ], - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - }, - "nfvoSpecificInfo": { - "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. \n", - "type": "object", - "properties": { - "maxOnboardedNsdNum": { - "description": "Maximum number of NSDs that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", - "type": "integer" - }, - "maxOnboardedVnfPkgNum": { - "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", - "type": "integer" + } + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", + "type": "object", + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ], + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { "type": "object", "properties": { "vnfdFormat": { @@ -207,169 +287,148 @@ "standardVersion" ] }, - "supportedNsdFormats": { - "description": "Supported NSD data formats.\n", - "type": "object", - "properties": { - "nsdFormat": { - "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } + "minItems": 1 + } + } + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "wimSpecificInfo": { + "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", + "type": "object", + "required": [ + "maxMscsNums", + "maxMsncNum", + "mscsLayerProtocolSupport" + ], + "properties": { + "maxMscsNums": { + "description": "Maximum number of MSCS that the WIM can manage.\n", + "type": "object", + "required": [ + "numMscs" + ], + "properties": { + "numMscs": { + "description": "Maximum number of MSCS.\n", + "type": "integer" }, - "required": [ - "nsdFormat", - "standardVersion" - ] + "criteriaNumMscs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } }, - "required": [ - "supportedVnfdFormats", - "supportedNsdFormats" - ] - }, - "vnfmSpecificInfo": { - "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity.\n", - "type": "object", - "properties": { - "resoruceMgmtModeSupport": { - "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", - "type": "string", - "enum": [ - "DIRECT", - "INDIRECT", - "BOTH" - ] - }, - "managedVnfInstanceInfos": { - "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] + "maxMsncNum": { + "description": "Maximum number of MSNC that the WIM can manage\n", + "type": "object", + "required": [ + "numMsnc" + ], + "properties": { + "numMsnc": { + "description": "Maximum number of MSNC..\n", + "type": "integer" }, - "minItems": 1 + "criteriaNumMsnc": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } } }, - "required": [ - "resoruceMgmtModeSupport", - "managedVnfInstanceInfos", - "supportedVnfdFormats" - ] - }, - "vimSpecificInfo": { - "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "manoServiceInterfaces", - "peerEntities", - "changeState", - "changeStateOpOccs" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "mscsLayerProtocolSupport": { + "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", + "type": "string", + "enum": [ + "EVPN_BGP_MPLS", + "EVPN_VPWS", + "VPLS_BGP", + "VPLS_LDP_L2TP", + "VPWS_LDP_L2TP", + "BGP_IP_VPN" + ] + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "manoServiceInterfaces": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "manoServiceInterfaces": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "peerEntities": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "peerEntities": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeState": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "changeState": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "changeStateOpOccs": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "changeStateOpOccs": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json index 16b7cc3fe..bcedca867 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json @@ -1,215 +1,215 @@ { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { "type": "object", "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "operationName": { + "description": "Name of the operation supported on the interface.\n", "type": "string" }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" } }, "required": [ - "apiUri" + "operationName" ] }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", - "type": "integer" - } - }, - "required": [ - "operationName" + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" ] }, - "minItems": 1 + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { "type": "string", "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" + "TLS_TUNNEL", + "OAUTH2" ] }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } + "minItems": 1 }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "webFingerHost" - ] - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "authServerId" - ] - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", - "type": "array", - "items": { + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "tlsTunnelCipherSuites" - ] + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } } }, - "required": [ - "authType", - "oauthServerInfo" - ] - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } } }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ] - } \ No newline at end of file + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json index 080fc11f2..696a8c11e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json @@ -1,105 +1,105 @@ { - "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", - "type": "string" - }, - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", - "type": "object", - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "webFingerHost" - ] - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "authServerId" - ] - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", - "type": "array", - "items": { + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string" - }, - "minItems": 1 + } } }, - "required": [ - "tlsTunnelCipherSuites" - ] + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } } }, - "required": [ - "authType", - "oauthServerInfo" - ] - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json index ad71446bf..5ba68faae 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json @@ -1,7 +1,19 @@ -{ "type": "array", - "items": { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", +{ + "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", @@ -53,7 +65,7 @@ ] }, "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", "type": "integer" }, "supportedOperations": { @@ -67,7 +79,7 @@ "type": "string" }, "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", "type": "integer" } }, @@ -115,8 +127,12 @@ ] }, "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], "properties": { "authType": { "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", @@ -133,53 +149,53 @@ "oauthServerInfo": { "description": "OAuth 2.0 authorization server information and configuration.\n", "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], "properties": { "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", "type": "object", + "required": [ + "webFingerHost" + ], "properties": { "webFingerHost": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } - }, - "required": [ - "webFingerHost" - ] + } }, "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used to setup the authorization server identifier. See note.\n", "type": "object", + "required": [ + "authServerId" + ], "properties": { "authServerId": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } - }, - "required": [ - "authServerId" - ] + } }, "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", "type": "array", "items": { - "type": "string" - }, - "minItems": 1 + "type": "string", + "minItems": 1 + } } - }, - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ] + } }, "tlsTunnelInfo": { "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", "type": "object", "properties": { "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", "type": "array", "items": { "type": "string" @@ -191,28 +207,12 @@ "tlsTunnelCipherSuites" ] } - }, - "required": [ - "authType", - "oauthServerInfo" - ] + } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", "type": "object" } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ] + } } - } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json index c7e85d04b..75811a050 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json @@ -1,7 +1,15 @@ -{ "type": "array", - "items": { - "description": "This type represents an individual peer entity. \n", +{ + "type": "array", + "items": { + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -16,7 +24,7 @@ "type": "string" }, "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", "type": "string", "enum": [ "NFVO", @@ -24,7 +32,8 @@ "VIM", "WIM", "EM", - "OSS" + "OSS", + "WIM" ] }, "description": { @@ -32,16 +41,20 @@ "type": "string" }, "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, "name": { "description": "Human-readable name of the NFV-MANO interface.\n", "type": "string" @@ -84,7 +97,7 @@ ] }, "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", "type": "object", "required": [ "authType", @@ -108,7 +121,7 @@ "type": "object", "properties": { "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", "type": "object", "required": [ "webFingerHost" @@ -122,7 +135,7 @@ } }, "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "description": "Configuration data used to setup the authorization server identifier. See note.\n", "type": "object", "required": [ "authServerId" @@ -161,15 +174,7 @@ } } } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ] + } } }, "peerEntityState": { @@ -202,14 +207,6 @@ "administrativeState" ] } - }, - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ] + } } - } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json index cbf0cbe24..e168b2a11 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json @@ -1,212 +1,209 @@ { - "description": "This type represents an individual peer entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" }, - "required": [ - "apiUri" - ] + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", "type": "string", - "minItems": 1 + "format": "uri" } } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", "type": "string", - "minItems": 1 + "format": "uri" } } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } } } } } - }, - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ] - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] } - }, - "required": [ - "operationalState", - "administrativeState" - ] + } } }, - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ] - } \ No newline at end of file + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/README.md b/SOL009/README.md index bb1592d77..68272f4f0 100644 --- a/SOL009/README.md +++ b/SOL009/README.md @@ -2,5 +2,5 @@ This folder includes the NFV API conformance test descriptions for NFV SOL009 APIs. -The reference spec version is v3.3.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +The reference spec version is v3.5.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_nfv-sol009v030501p.pdf -- GitLab From b42b80692ffd9f6755c355e60655fd05ccb42674 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 14:14:47 +0500 Subject: [PATCH 163/211] update document number to v3.5.1 --- .../ChangeInterfaceStateTask.robot | 14 +++---- .../ChangeNFVMANOEntityStateTask.robot | 12 +++--- .../ChangeStateOperationOccurrences.robot | 32 ++++++++-------- .../IndividualNFVMANOServiceInterface.robot | 18 ++++----- .../IndividualPeerEntity.robot | 18 ++++----- ...vidualStateChangeOperationOccurrence.robot | 14 +++---- .../IndividualSubscription.robot | 14 +++---- .../NFVMANOEntity.robot | 16 ++++---- .../NFVMANOServiceInterfaces.robot | 32 ++++++++-------- .../NotificationEndpoint.robot | 8 ++-- .../Notifications.robot | 18 ++++----- .../PeerEntities.robot | 38 +++++++++---------- .../Subscriptions.robot | 24 ++++++------ 13 files changed, 129 insertions(+), 129 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index 4d58d8b4b..1ec2b5161 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Change interface state task ... Test title: POST Change interface state task ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: interface status changed @@ -27,7 +27,7 @@ POST Change interface state task - Conflict ... Test title: POST Change interface state task - Conflict ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Change interface state task - Method not implemented ... Test title: GET Change interface state task - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Change interface state task - Conflict - Method not implemented ... Test title: PUT Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Change interface state task - Conflict - Method not implemented ... Test title: PATCH Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Change interface state task - Conflict - Method not implemented ... Test title: DELETE Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index e450afa03..594da210d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -12,7 +12,7 @@ POST NFV-MANO functional entity application state change ... Test title: POST NFV-MANO functional entity application state change ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: entity status changed @@ -26,7 +26,7 @@ POST NFV-MANO functional entity application state change - Conflict ... Test title: POST NFV-MANO functional entity application state change - Conflict ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application fails due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET NFV-MANO functional entity application state change - Method not implemented ... Test title: GET NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT NFV-MANO functional entity application state change - Method not implemented ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH NFV-MANO functional entity application state change - Method not implement ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE NFV-MANO functional entity application state change - Method not implemen ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot index 7f60fe749..564e36cfd 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Change State Operation Occurrences - Method not implemented ... Test title: POST Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Change State Operation Occurrences ... Test title: GET Change State Operation Occurrences ... Test objective: The objective is to query status information about multiple change state operation occurrences, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Change State Operation Occurrences - invalid attribute-based filter ... Test title: GET Change State Operation Occurrences - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Change State Operation Occurrences - invalid attribute selector ... Test title: GET Change State Operation Occurrences - invalid attribute selector ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Change State Operation Occurrences - Bad Request Response too Big ... Test title: GET Change State Operation Occurrences - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET Change State Operation Occurrences with attribute-based filter ... Test title: GET Change State Operation Occurrences with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET Change State Operation Occurrences with "all_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET Change State Operation Occurrences with "exclude_default" attribute selector ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Change State Operation Occurrences with "fields" attribute selector ... Test title: GET Change State Operation Occurrences with "fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET Change State Operation Occurrences with Paged Response ... Test title: GET Change State Operation Occurrence with Paged Response ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET Change State Operation Occurrences with "fields" and "exclude_default" attri ... Test title: GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT Change State Operation Occurrences - Method not implemented ... Test title: PUT Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH Change State Operation Occurrences - Method not implemented ... Test title: PATCH Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE Change State Operation Occurrences - Method not implemented ... Test title: DELETE Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index caea555e4..68b51c9e8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual NFV-MANO Service Interface - Method not implemented ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual NFV-MANO Service Interface ... Test title: GET Individual NFV-MANO Service Interface ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual NFV-MANO Service Interface - Not Found ... Test title: GET Individual NFV-MANO Service Interface - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual NFV-MANO Service Interface - Method not implemented ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Individual NFV-MANO Service Interface ... Test title: PATCH Individual NFV-MANO Service Interface ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation @@ -76,7 +76,7 @@ PATCH Individual NFV-MANO Service Interface - Conflict ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -89,7 +89,7 @@ PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -102,7 +102,7 @@ DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot index f6e5a7225..5e8d57e00 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual Peer Entity - Method not implemented ... Test title: POST Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Peer Entity ... Test title: GET Individual Peer Entity ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Peer Entity - Not Found ... Test title: GET Individual Peer Entity - Not Found ... Test objective: The objective is to test the retrieval of information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Peer Entity - Method not implemented ... Test title: PUT Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Peer Entity ... Test title: PATCH Individual Peer Entity ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is modified by the operation @@ -75,7 +75,7 @@ PATCH Individual Peer Entity - Conflict ... Test title: PATCH Individual Peer Entity - Conflict ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -88,7 +88,7 @@ PATCH Individual Peer Entity - PreCondition Failed ... Test title: PATCH Individual Peer Entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -101,7 +101,7 @@ DELETE Individual Peer Entity - Method not implemented ... Test title: DELETE Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot index c9797ea9e..cc058006b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Individual Change State Operation Occurrence - Method not implemented ... Test title: POST Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Change State Operation Occurrence ... Test title: GET Individual Change State Operation Occurrence ... Test objective: The objective is to query status information about Individual change state operation occurrence. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Change State Operation Occurrence - Not Found ... Test title: GET Individual Change State Operation Occurrence - Not Found ... Test objective: The objective is to test the retrieval of information about individual change state operation occurence fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Change State Operation Occurrence - Method not implemented ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Change State Operation Occurrence - Method not implemented ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual Change State Operation Occurrence - Method not implemented ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index e20248234..e01857ac8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Subscription - invalid resource identifier ... Test title: GET Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test the deletion of an individual subscription ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The resource is not available anymore in the NFV-MANO @@ -51,7 +51,7 @@ DELETE Individual Subscription - invalid resource identifier ... Test title: DELETE Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Individual Subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Individual Subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index 74a29921b..07bb06953 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -13,7 +13,7 @@ POST NFV-MANO entity - Method not implemented ... Test title: POST NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO entity ... Test title: Get NFV-MANO entity ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO entity - Not Found ... Test title: Get NFV-MANO entity - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT NFV-MANO entity - Method not implemented ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH NFV-MANO entity ... Test title: PATCH NFV-MANO entity ... Test objective: The objective is to test that PATCH method modifies the NFV-MANO entity resource and perform a JSON schema and content validation of the modified response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is modified by the operation @@ -75,7 +75,7 @@ PATCH NFV-MANO entity - Conflict ... Test title: PATCH NFV-MANO entity - Conflict ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -88,7 +88,7 @@ PATCH NFV-MANO entity - PreCondition Failed ... Test title: PATCH NFV-MANO entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -101,7 +101,7 @@ DELETE NFV-MANO entity - Method not implemented ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot index 938b1b0f4..028f92fb4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST NFV-MANO Service Interfaces - Method not implemented ... Test title: POST NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO Service Interfaces ... Test title: GET NFV-MANO Service Interfaces ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test title: GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET NFV-MANO Service Interfaces - invalid attribute selector ... Test title: GET NFV-MANO Service Interfaces - invalid attribute selector ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test title: GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET NFV-MANO Service Interfaces with attribute-based filter ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET NFV-MANO Service Interfaces with "all_fields" attribute selector ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute se ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET NFV-MANO Service Interfaces with Paged Response ... Test title: GET NFV-MANO Service Interfaces with Paged Response ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT NFV-MANO Service Interfaces - Method not implemented ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH NFV-MANO Service Interfaces - Method not implemented ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE NFV-MANO Service Interfaces - Method not implemented ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot index 7ffefd8e7..23b3e92f6 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Information Changed Notification ... Test title: Information Changed Notification ... Test objective: The objective is to test that Information Changed Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for information availability notification is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Change State Notification ... Test title: Change State Notification ... Test objective: The objective is to test that Change State Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for change state notification is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ Post Information Changed Notification ${body}= Format String ${template} subscriptionId=${subscriptionId} Post ${callbackResp} ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Change State Notification log Trying to perform a POST to get notification @@ -67,4 +67,4 @@ Post Change State Notification ${body}= Format String ${template} subscriptionId=${subscriptionId} changeStateOpOccId=${changeStateOpOccId} Post ${callbackResp} ${body} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot index 7e00c3d89..3e936b98e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Notifications.robot @@ -1,5 +1,5 @@ *** Setting *** -Resource environment/variables.txt +Resource environment/variables.txt Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true Library MockServerLibrary @@ -16,7 +16,7 @@ Information Changed Notification ... Test title: Information Changed Notification ... Test objective: The objective is to test the dispatch of Information Changed Notification when configuration or information is changed in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Change State Notification ... Test title: Change State Notification ... Test objective: The objective is to test the dispatch of Change State Notification when state changes of the NFV-MANO functional entity and its managed objects, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a state change subscription is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANOz ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ Trigger the cross of Change State (external action) Check Information Changed Notification Available Http POST Request Body Json Schema Is [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json + ${schema}= Get File schemas/${element}.schema.json Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} Check Information Changed Notification Available Http POST Request Body notificationType attribute Is @@ -61,7 +61,7 @@ Check Information Changed Notification Available Http POST Request Body notifica Check Change State Notification Http POST Request Body Json Schema Is [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json + ${schema}= Get File schemas/${element}.schema.json Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} @@ -85,7 +85,7 @@ Configure Notification Information Changed Notification Available Handler set to dictionary ${json} notificationType ${type} ${BODY}= evaluate json.dumps(${json}) json Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} Set Global Variable ${notification_request} ${req} &{notification_response}= Create Mock Response status_code=204 Create Mock Expectation ${notification_request} ${notification_response} @@ -96,7 +96,7 @@ Configure Notification State Crossed Handler set to dictionary ${json} notificationType ${type} ${BODY}= evaluate json.dumps(${json}) json Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} Set Global Variable ${notification_request} ${req} &{notification_response}= Create Mock Response status_code=204 Create Mock Expectation ${notification_request} ${notification_response} @@ -104,8 +104,8 @@ Configure Notification State Crossed Handler Configure Notification Forward [Arguments] ${schema} ${endpoint} ${endpoint_fwd} Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} Create Sessions diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index 2fe8eb548..dfbe06ecf 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -1,4 +1,4 @@ -** Settings *** +*** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Library JSONLibrary @@ -13,7 +13,7 @@ POST Peer Entity ... Test title: POST Peer Entity ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity is created @@ -28,7 +28,7 @@ GET Peer Entities ... Test title: GET Peer Entities ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Peer Entities - invalid attribute-based filter ... Test title: GET Peer Entities - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Peer Entities - invalid attribute selector ... Test title: GET Peer Entities - invalid attribute selector ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Peer Entities - Bad Request Response too Big ... Test title: GET Peer Entities - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET Peer Entities with attribute-based filter ... Test title: GET Peer Entities with attribute-based filter ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET Peer Entities with "all_fields" attribute selector ... Test title: GET Peer Entities with "all_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ GET Peer Entities with "exclude_default" attribute selector ... Test title: GET Peer Entities with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET Peer Entities with "fields" attribute selector ... Test title: GET Peer Entities with "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET Peer Entities with "exclude_fields" attribute selector ... Test title: GET Peer Entities with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test title: GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET Peer Entity with Paged Response ... Test title: GET Peer Entity with Paged Response ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ Get Peer Entity with malformed authorization token ... Test title: Get Peer Entity with malformed authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ Get Peer Entity without authorization token ... Test title: Get Peer Entity without authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple alarms with expired or revoked authorization toke ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +207,7 @@ PUT Peer Entities - Method not implemented ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ PATCH Peer Entities - Method not implemented ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,7 +231,7 @@ DELETE Peer Entities - Method not implemented ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 9ff981dd1..5d4d1f303 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET all Subscriptions ... Test title: GET all Subscriptions ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Subscriptions with attribute-based filter ... Test title: GET Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter and perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Subscriptions with Paged Response ... Test title: GET Subscriptions with Paged Response ... Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: @@ -55,7 +55,7 @@ GET Subscriptions - invalid attribute-based filter ... Test title: GET Subscriptions - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Subscriptions - Bad Request Response too Big ... Test title: GET Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET Subscriptions - invalid resource endpoint ... Test title: GET Subscriptions - invalid resource endpoint ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ Create new Subscription ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The subscription is successfully set and it matches the issued subscription @@ -111,7 +111,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO @@ -127,7 +127,7 @@ Create request for duplicated Subscription creating duplicated subscriptions ... Test title: Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription @@ -142,7 +142,7 @@ PUT Subscriptions - Method not implemented ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ PATCH Subscriptions - Method not implemented ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ DELETE Subscriptions - Method not implemented ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From 64f5c9963545c87d95f8a3c9afb18463f028e0ab Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 15:00:45 +0500 Subject: [PATCH 164/211] add POST unprocessable entity test case for subscriptions --- .../Subscriptions.robot | 19 ++++++++++-- .../schemas/ProblemDetails.schema.json | 30 ++++++++++++++++++- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 5d4d1f303..ada4ec7a4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -89,7 +89,7 @@ GET Subscriptions - invalid resource endpoint Get all Subscriptions Check HTTP Response Status Code Is 404 -Create new Subscription +POST Create new Subscription [Documentation] Test ID: 8.3.1.10.7 ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure @@ -105,7 +105,7 @@ Create new Subscription Check Postcondition Subscription Is Set -Create request for duplicated Subscription not creating duplicated subscriptions +POST Create request for duplicated Subscription not creating duplicated subscriptions [Tags] no-duplicated-subs [Documentation] Test ID: 8.3.1.10.8 ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions @@ -121,7 +121,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions Check HTTP Response Header Contains Location Check Postcondition Subscription Resource Returned in Location Header Is Available -Create request for duplicated Subscription creating duplicated subscriptions +POST Create request for duplicated Subscription creating duplicated subscriptions [Tags] duplicated-subs [Documentation] Test ID: 8.3.1.10.9 ... Test title: Create request for duplicated Subscription creating duplicated subscriptions @@ -172,3 +172,16 @@ DELETE Subscriptions - Method not implemented ... Post-Conditions: none Send Delete Request for Subscriptions Check HTTP Response Status Code Is 405 + +POST Create a new subscription - Unprocessable Entity + [Documentation] Test ID: 8.3.1.10.13 + ... Test title: POST Create a new Subscription - Unprocessable Entity + ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: none + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for Subscription + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json index 2af3ef9b3..bd236d731 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json @@ -1 +1,29 @@ -{ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string", "format": "URI" } }} \ No newline at end of file +{ + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } +} -- GitLab From 229861a96b9526cb05a405e7bf6a1864e3f39add Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 15:39:39 +0500 Subject: [PATCH 165/211] update apiMajorVersion in variables.txt --- .../environment/variables.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 35efe08ef..b9aec98f2 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -18,7 +18,7 @@ ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, th ${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / -${apiMajorVersion} v1 +${apiMajorVersion} v2 ${apiName} nfvmanocim ${response} -- GitLab From bef781072eb74268cbcd952519c8885e2969a243 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:04:45 +0500 Subject: [PATCH 166/211] fix POST subscriptions - unprocessable entity test case --- .../NFVMANOCimKeywords.robot | 12 ++++++++++++ .../Subscriptions.robot | 4 ++-- .../environment/variables.txt | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 44fb39106..cb1eb6210 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -675,6 +675,18 @@ Send Post Request for Subscription Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 ... Check Notification Endpoint +Send Post Request for Subscription with Unreachable callbackUri + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + ${template}= Get File jsons/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription ${template}= Get File jsons/CimSubscriptionRequest.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index ada4ec7a4..4cb9a4901 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -176,12 +176,12 @@ DELETE Subscriptions - Method not implemented POST Create a new subscription - Unprocessable Entity [Documentation] Test ID: 8.3.1.10.13 ... Test title: POST Create a new Subscription - Unprocessable Entity - ... Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. + ... Test objective: The objective is to test that for a POST request for a new subscription, if the test by NFV-MANO for notification endpoint fails, then error 422 will be returned. ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post Request for Subscription + Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index b9aec98f2..b86b897ab 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -36,6 +36,7 @@ ${peerEntityId} ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-code-422 ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous -- GitLab From 091d9f0e1f2358522bb33e8c3f6430522002d238 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:09:52 +0500 Subject: [PATCH 167/211] rename schema files --- ...on => ChangeStateNotification.schema.json} | 300 +++--- ...pOcc.json => ChangeStateOpOcc.schema.json} | 168 ++-- ...ccs.json => ChangeStateOpOccs.schema.json} | 174 ++-- ...ption.json => CimSubscription.schema.json} | 224 ++--- ...ions.json => CimSubscriptions.schema.json} | 230 ++--- ...nformationChangedNotification.schema.json} | 160 ++-- ...on => ManoConfigModifications.schema.json} | 170 ++-- ...ManoEntity.json => ManoEntity.schema.json} | 866 +++++++++--------- ....json => ManoServiceInterface.schema.json} | 428 ++++----- ...ServiceInterfaceModifications.schema.json} | 208 ++--- ...json => ManoServiceInterfaces.schema.json} | 434 ++++----- ...Entities.json => PeerEntities.schema.json} | 422 ++++----- ...PeerEntity.json => PeerEntity.schema.json} | 416 ++++----- 13 files changed, 2100 insertions(+), 2100 deletions(-) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateNotification.json => ChangeStateNotification.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateOpOcc.json => ChangeStateOpOcc.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ChangeStateOpOccs.json => ChangeStateOpOccs.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{CimSubscription.json => CimSubscription.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{CimSubscriptions.json => CimSubscriptions.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{InformationChangedNotification.json => InformationChangedNotification.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoConfigModifications.json => ManoConfigModifications.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoEntity.json => ManoEntity.schema.json} (97%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterface.json => ManoServiceInterface.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterfaceModifications.json => ManoServiceInterfaceModifications.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{ManoServiceInterfaces.json => ManoServiceInterfaces.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{PeerEntities.json => PeerEntities.schema.json} (98%) rename SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/{PeerEntity.json => PeerEntity.schema.json} (98%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json index 960b9e7d0..1d887a364 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.schema.json @@ -1,151 +1,151 @@ -{ - "description": "This type represents a Change state operation occurrence.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timestamp", - "changeStateOpOccId", - "stateChangedTime", - "changeStateOperationState", - "managedObjectRef", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "stateChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "changeStateOperationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeStateOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "subscription", - "objectInstance", - "changeStateOpOcc" - ] - } - } +{ + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json index b0c3c9178..53e9d8228 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.schema.json @@ -1,85 +1,85 @@ -{ - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] - }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } - } +{ + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json index 9f57c2454..2c222b3b5 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.schema.json @@ -1,88 +1,88 @@ -{ - "type": "array", - "items": { - "description": "This type represents a Change state operation occurrence. \n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "managedObjectRef" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "FAILED" - ] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "managedObjectRef": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "changeOperationalStateRequest": { - "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", - "type": "string", - "enum": [ - "START", - "STOP", - "RESTART" - ] - }, - "changeAdministrativeStateRequest": { - "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", - "type": "string", - "enum": [ - "LOCK", - "UNLOCK" - ] - }, - "operationParams": { - "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json index 1a7e924ed..ced25bc5f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.schema.json @@ -1,113 +1,113 @@ -{ - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } +{ + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json index a7578f88d..2098ec69c 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.schema.json @@ -1,116 +1,116 @@ -{ - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", - "type": "object", - "properties": { - "manoEntitySubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "InformationChangedNotification", - "ChangeStateNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json index 696f45239..b906a3a5a 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.schema.json @@ -1,81 +1,81 @@ -{ - "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "informationChangedTime", - "manoEntityId", - "changedInfo", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "informationChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changedInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "self" - ] - } - } +{ + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json index ea15fde7d..9ecde8ddb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.schema.json @@ -1,86 +1,86 @@ -{ - "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "string" - }, - "clockSyncs": { - "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", - "type": "string", - "enum": [ - "NTP", - "OTHER" - ] - }, - "ntpServerInfo": { - "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", - "type": "object", - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "hostname": { - "description": "Indicates the hostname of the NTP server. See note.\n", - "type": "string" - } - } - }, - "otherClockSyncParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } - }, - "defaultLogCompileBySizeValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "defaultLogCompileByTimerValue": { - "description": "Unsigned integer\n", - "type": "number" - }, - "manoServiceModifications": { - "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", - "type": "string" - }, - "description": { - "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", - "type": "string" - } - }, - "required": [ - "id" - ] - } - } - } +{ + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents parameters for connecting to an NTP server. * NOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. See note.\n", + "type": "string" + } + } + }, + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json index b78f2a698..29484d403 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json @@ -1,434 +1,434 @@ -{ - "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", - "type": "object", - "required": [ - "id", - "type", - "name", - "description", - "provider", - "softwareVersion", - "manoConfigurableParams", - "manoApplicationState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "type": { - "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM" - ] - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "provider": { - "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", - "type": "string" - }, - "softwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "manoEntityComponents": { - "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", - "type": "array", - "items": { - "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "manoServiceIds": { - "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - } - } - } - }, - "manoServices": { - "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", - "type": "array", - "items": { - "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", - "type": "object", - "required": [ - "id", - "name", - "description", - "manoServiceInterfaceIds", - "_links" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "description": { - "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "manoServiceInterfaceIds": { - "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "minItems": 1 - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "properties": { - "manoServiceInterfaces": { - "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "minItems": 1 - } - }, - "required": [ - "manoServiceInterfaces" - ] - } - } - } - }, - "manoConfigurableParams": { - "description": "# Warning: No definition found in the document ManoConfigurableParams\n" - }, - "manoApplicationState": { - "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", - "type": "object", - "required": [ - "operationalState", - "administrativeState", - "usageState" - ], - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - }, - "nfvoSpecificInfo": { - "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", - "type": "object", - "required": [ - "supportedVnfdFormats", - "supportedNsdFormats" - ], - "properties": { - "maxOnboardedNsdNum": { - "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", - "type": "integer" - }, - "maxOnboardedVnfPkgNum": { - "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", - "type": "integer" - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] - }, - "supportedNsdFormats": { - "description": "Supported NSD data formats.\n", - "type": "object", - "properties": { - "nsdFormat": { - "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "nsdFormat", - "standardVersion" - ] - } - } - }, - "vnfmSpecificInfo": { - "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", - "type": "object", - "required": [ - "resoruceMgmtModeSupport", - "managedVnfInstanceInfos", - "supportedVnfdFormats" - ], - "properties": { - "resoruceMgmtModeSupport": { - "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", - "type": "string", - "enum": [ - "DIRECT", - "INDIRECT", - "BOTH" - ] - }, - "managedVnfInstanceInfos": { - "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "supportedVnfdFormats": { - "description": "Supported VNFD data formats.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "vnfdFormat": { - "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", - "type": "string", - "enum": [ - "TOSCA", - "YANG" - ] - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - } - }, - "required": [ - "vnfdFormat", - "standardVersion" - ] - }, - "minItems": 1 - } - } - }, - "vimSpecificInfo": { - "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", - "type": "object" - }, - "wimSpecificInfo": { - "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", - "type": "object", - "required": [ - "maxMscsNums", - "maxMsncNum", - "mscsLayerProtocolSupport" - ], - "properties": { - "maxMscsNums": { - "description": "Maximum number of MSCS that the WIM can manage.\n", - "type": "object", - "required": [ - "numMscs" - ], - "properties": { - "numMscs": { - "description": "Maximum number of MSCS.\n", - "type": "integer" - }, - "criteriaNumMscs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "maxMsncNum": { - "description": "Maximum number of MSNC that the WIM can manage\n", - "type": "object", - "required": [ - "numMsnc" - ], - "properties": { - "numMsnc": { - "description": "Maximum number of MSNC..\n", - "type": "integer" - }, - "criteriaNumMsnc": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - }, - "mscsLayerProtocolSupport": { - "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", - "type": "string", - "enum": [ - "EVPN_BGP_MPLS", - "EVPN_VPWS", - "VPLS_BGP", - "VPLS_LDP_L2TP", - "VPWS_LDP_L2TP", - "BGP_IP_VPN" - ] - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "manoServiceInterfaces", - "peerEntities", - "changeState", - "changeStateOpOccs" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "manoServiceInterfaces": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "peerEntities": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeState": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "changeStateOpOccs": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } +{ + "description": "This type represents an NFV-MANO functional entity. * NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. * NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. * NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. * NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n entity is specified by the manoServices attribute.\n* NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. * NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\t The NFV-MANO functional entity is a VIM.\n - WIM The NFV-MANO functional entity is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. See note 5.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + } + } + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n to be used for accessing the same instance of an NFV-MANO service.\n", + "type": "object", + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. See note\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + } + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entityΓÇÖs application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n", + "type": "object", + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ], + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. See note 2.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "nsdFormat", + "standardVersion" + ] + } + } + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n", + "type": "object", + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ], + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "minItems": 1 + } + } + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "wimSpecificInfo": { + "description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n", + "type": "object", + "required": [ + "maxMscsNums", + "maxMsncNum", + "mscsLayerProtocolSupport" + ], + "properties": { + "maxMscsNums": { + "description": "Maximum number of MSCS that the WIM can manage.\n", + "type": "object", + "required": [ + "numMscs" + ], + "properties": { + "numMscs": { + "description": "Maximum number of MSCS.\n", + "type": "integer" + }, + "criteriaNumMscs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "maxMsncNum": { + "description": "Maximum number of MSNC that the WIM can manage\n", + "type": "object", + "required": [ + "numMsnc" + ], + "properties": { + "numMsnc": { + "description": "Maximum number of MSNC..\n", + "type": "integer" + }, + "criteriaNumMsnc": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "mscsLayerProtocolSupport": { + "description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n in IETF RFC 4761 and IETF RFC.\n - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n", + "type": "string", + "enum": [ + "EVPN_BGP_MPLS", + "EVPN_VPWS", + "VPLS_BGP", + "VPLS_LDP_L2TP", + "VPWS_LDP_L2TP", + "BGP_IP_VPN" + ] + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "manoServiceInterfaces": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "peerEntities": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeState": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOccs": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json index bcedca867..94ea56821 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json @@ -1,215 +1,215 @@ -{ - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", - "type": "integer" - } - }, - "required": [ - "operationName" - ] - }, - "minItems": 1 - }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } +{ + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json index 696a8c11e..26199703f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json @@ -1,105 +1,105 @@ -{ - "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", - "type": "object", - "properties": { - "name": { - "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", - "type": "string" - }, - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } +{ + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. * NOTE:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all\n to the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided\n in a response message.\n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json index 5ba68faae..8b6194d71 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json @@ -1,218 +1,218 @@ -{ - "type": "array", - "items": { - "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "providerSpecificApiVersion", - "apiVersion", - "apiEndpoint", - "supportedOperations", - "interfaceState" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "providerSpecificApiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Exposed API endpoint of the interface.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "maxConcurrentIntOpNumber": { - "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", - "type": "integer" - }, - "supportedOperations": { - "description": "Information about supported operations of this interface.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "operationName": { - "description": "Name of the operation supported on the interface.\n", - "type": "string" - }, - "maxConcurrentOpNumber": { - "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", - "type": "integer" - } - }, - "required": [ - "operationName" - ] - }, - "minItems": 1 - }, - "interfaceState": { - "description": "State of the NFV-MANO service interface.\n", - "properties": { - "operationalState": { - "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - }, - "usageState": { - "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", - "type": "string", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "required": [ - "operationalState", - "administrativeState", - "usageState" - ] - }, - "securityInfo": { - "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "required": [ - "providedConfiguration", - "tlsCipherSuites" - ], - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "tlsTunnelCipherSuites" - ] - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and\n version of the specification. For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined. Overload is\n handled by the error handling schemes defined by the applicable API specification.\n* NOTE 3:\tDue to the security sensitive information associated to the attribute, based on access\n control policies, the API consumer might have read only, write only, read/write, or no access\n at all to the attribute's value. In case the API consumer is not allowed to read the value of\n the security sensitive attribute, the attribute shall be omitted when the information is to be\n provided in a response message, and shall be provided otherwise. In case the API consumer is\n not allowed to modify the value of the security sensitive attribute, and the modification request\n includes new attribute values, the whole modification request shall be rejected, and proper\n error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. See note 2.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. See note 2.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ], + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json index 75811a050..2e02794be 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.schema.json @@ -1,212 +1,212 @@ -{ - "type": "array", - "items": { - "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", - "type": "object", - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS", - "WIM" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ], - "properties": { - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - } - } - } - } - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - } - }, - "required": [ - "operationalState", - "administrativeState" - ] - } - } - } +{ + "type": "array", + "items": { + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + } + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } + } } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json similarity index 98% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json rename to SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json index e168b2a11..67233fbbb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.schema.json @@ -1,209 +1,209 @@ -{ - "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", - "type": "object", - "required": [ - "id", - "peerEntityId", - "name", - "type", - "peerEntityState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "peerEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "name": { - "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "type": { - "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", - "type": "string", - "enum": [ - "NFVO", - "VNFM", - "VIM", - "WIM", - "EM", - "OSS", - "WIM" - ] - }, - "description": { - "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "consumedManoInterfaces": { - "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", - "type": "object", - "required": [ - "id", - "name", - "type", - "standardVersion", - "apiVersion", - "apiEndpoint" - ], - "properties": { - "name": { - "description": "Human-readable name of the NFV-MANO interface.\n", - "type": "string" - }, - "type": { - "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", - "type": "string" - }, - "standardVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiVersion": { - "description": "A version.\n", - "type": "string" - }, - "apiEndpoint": { - "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", - "type": "object", - "properties": { - "apiRoot": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "apiName": { - "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiMajorVersion": { - "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", - "type": "string" - }, - "apiUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - }, - "required": [ - "apiUri" - ] - }, - "securityInfo": { - "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", - "type": "object", - "required": [ - "authType", - "oauthServerInfo" - ], - "properties": { - "authType": { - "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "TLS_TUNNEL", - "OAUTH2" - ] - }, - "minItems": 1 - }, - "oauthServerInfo": { - "description": "OAuth 2.0 authorization server information and configuration.\n", - "type": "object", - "properties": { - "dynamicDiscovery": { - "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "webFingerHost" - ], - "properties": { - "webFingerHost": { - "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "providedConfiguration": { - "description": "Configuration data used to setup the authorization server identifier. See note.\n", - "type": "object", - "required": [ - "authServerId" - ], - "properties": { - "authServerId": { - "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", - "type": "string", - "format": "uri" - } - } - }, - "tlsCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - }, - "tlsTunnelInfo": { - "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", - "type": "object", - "properties": { - "tlsTunnelCipherSuites": { - "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", - "type": "array", - "items": { - "type": "string", - "minItems": 1 - } - } - } - } - } - } - } - } - }, - "peerEntityState": { - "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", - "type": "object", - "properties": { - "operationalState": { - "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", - "type": "string", - "enum": [ - "STARTED", - "STOPPED", - "STOPPING", - "STARTING", - "RESTARTING" - ] - }, - "administrativeState": { - "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", - "type": "string", - "enum": [ - "LOCKED", - "UNLOCKED", - "LOCKING" - ] - } - }, - "required": [ - "operationalState", - "administrativeState" - ] - } - } +{ + "description": "This type represents an individual peer entity. * NOTE 1:\tThe value of the \"peerEntityId\" attribute is the same as the value of the \"id\" attribute in the\n \"ManoEntity\" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall\n follow the uniqueness requirements set out in clause 5.6.2.2 for the \"id\" attribute.\n* NOTE 2:\tETSI GS NFV-IFA 031 [1] defines an additional attribute named \"apiDiscoveryEndpoint\" in the\n PeerManoEntity. The modelling of this attribute is not specified in the present document version.\n", + "type": "object", + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS. - WIM The peer functional is a WIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS", + "WIM" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\nThe keys of the map, each of which identifies information about a particular consumed NFV-MANO interface, are managed by the API consumer and referenced from other data structures via the \"consumedManoInterfaceIds\" attribute.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and its version.\n For instance, \"ETSI GS NFV-SOL 003 (V2.4.1)\".\n* NOTE 2:\tDue to the security sensitive information associated to the attribute, based on access control\n policies, the API consumer might have read only, write only, read/write, or no access at all to\n the attribute's value. In case the API consumer is not allowed to read the value of the security\n sensitive attribute, the attribute shall be omitted when the information is to be provided in a\n response message, and shall be provided otherwise. In case the API consumer is not allowed to\n modify the value of the security sensitive attribute, and the modification request includes new\n attribute values, the whole modification request shall be rejected, and proper error information returned.\n", + "type": "object", + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ], + "properties": { + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity. * NOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration\n shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. See note.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + } + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + } } \ No newline at end of file -- GitLab From ab3632d4a7449b92727c21fecb1f4ac49115a0db Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:23:47 +0500 Subject: [PATCH 168/211] update applicability description for POST subscription - unprocessable entity --- .../Subscriptions.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 4cb9a4901..3680ae513 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -180,7 +180,7 @@ POST Create a new subscription - Unprocessable Entity ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: none + ... Applicability: Notification endpoint test by NFV-MANO fails. ... Post-Conditions: none Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 -- GitLab From da2778a4c11b9d3e858f9037d7553dda729cb444 Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 13 Oct 2021 17:54:48 +0500 Subject: [PATCH 169/211] removed unused OpenAPI yaml --- .../NFVMANOCimKeywords.robot | 1 + ...onfigurationInformationManagement-API.yaml | 33445 ---------------- .../Subscriptions.robot | 4 +- 3 files changed, 3 insertions(+), 33447 deletions(-) delete mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index cb1eb6210..a88658791 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -676,6 +676,7 @@ Send Post Request for Subscription ... Check Notification Endpoint Send Post Request for Subscription with Unreachable callbackUri + Log Trying to create a subscription for an unreachable Notification Endpoint Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml deleted file mode 100644 index 3fed77a90..000000000 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml +++ /dev/null @@ -1,33445 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Configuration and Information Management Interface - description: > - SOL009 - NFV-MANO Configuration and Information Management Interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' - contact: - name: NFV-SOL WG -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://0.0.0.0/nfvmanocim/v1' - description: | - API HTTP Server - - url: 'https://0.0.0.0/nfvmanocim/v1' - description: | - API HTTPS Server -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity: - get: - description: > - Retrives information about an NFV-MANO functional entity by reading the - NFV-MANO entity resource. This method shall follow the provisions - specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when configuration and information about the - NFV-MANO functional entity has been read successfully. The response - body shall contain a representation of the NFV-MANO functional - entity, as defined in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: > - Human-readable description of the NFV-MANO functional - entity. - - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional - entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on - the NFV-MANO functional entity component. The - identifier of the ManoService is referred. A - service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO - service provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - description: - description: > - Human-readable description of the NFV-MANO service. - - This attribute can be modified with the PATCH - method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service - interface" resources with information about the - associated interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource - using an absolute URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded - on the NFVO. - - NOTE: If this attribute is not present, the value of - this parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a - VNFM entity, and that can be relevant to more than one - NFV-MANO service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. - to determine the compatibility of a VNF with certain - VNFM according to the vnfmInfo attribute in the VNFD - (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a - VIM entity, and that can be relevant to more than one - NFV-MANO service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies the NFV-MANO entity resource. Changes to the various - configuration and information attributes are applied to the NFV-MANO - functional entity, and are reflected in the representation of this - resource. This method shall follow the provisions specified in the - tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, request - and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the NFV-MANO configuration and information - modification, as defined in clause 5.6.2.3. The Content-Type header - shall be set to "application/merge-patch+json" according to IETF RFC - 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" - attribute array in the "ManoEntity", as defined below this - table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on the "NFV-MANO entity" resource of the producer - NFV-MANO functional entity. The attributes that can be - included consist of those requested to be modified explicitly - in the "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in - clause 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", - as defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock - synchronization. Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of - certain entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause - 5.6.2.3. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - name: - description: > - If present, this attribute signals modification of - the "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of - the "description" attribute in the "ManoService". - type: string - required: - - id - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "NFV-MANO entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/change_state: - post: - description: > - Requests to change the state of the NFV-MANO functional entity - application. - - This method shall follow the provisions specified in the tables - 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /mano_entity/mano_interfaces: - get: - description: > - Queries information about multiple NFV-MANO service interfaces of the - NFV-MANO functional entity. This method shall follow the provisions - specified in the tables 5.5.10.3.2-1 and 5.5.10.3.2-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ManoServiceInterface and in - data types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this - parameter is provided, or none of the parameters "all_fields," - "fields", "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO - service interfaces has been queried successfully. - - The response body shall contain in an array the representations of - zero or more NFV-MANO service interfaces, as defined in clause - 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service - interface produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: > - Information about supported operations of this - interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing - the SSL or TLS negotiation with the API client. - Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - retrieves information about an NFV-MANO service interface of the - producer NFV-MANO functional entity by reading an "Individual NFV-MANO - service interface" resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO - service interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall - be present for ETSI NFV specified RESTful NFV-MANO - APIs. The major version is defined in the standard - the interface is compliant to (see also clause 4.1 of - ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies an "Individual NFV-MANO service interface" resource. - - Changes to the configurable parameters of the corresponding NFV-MANO - service interface are applied to the information managed by the - producer NFV-MANO functional entity and reflected in the representation - of this resource. - - This method shall follow the provisions specified in the tables - 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" - resource, as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an Individual NFV-MANO service interface" - resource. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the - "ManoServiceInterface" data structure that were modified - implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoServiceInterface", as defined in - clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the - API producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of keyvalue pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 8259. In the following example, a list of - key-value pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of - different type. - type: object - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state': - parameters: - - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: > - Requests to change the state of the NFV-MANO service interface produced - by the NFV-MANO functional entity. - - This method shall follow the provisions specified in the tables - 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state - of a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - responses: - '202': - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for - processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that - contains the URI of the newly-created "Individual change state - operation occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the - error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Creates a new subscription. - - This method shall follow the provisions specified in the tables - 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '303': - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI - and the same filter already exists and the policy of NFV-MANO - functional entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the existing "Individual subscription" - resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual subscription" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - queries the list of active subscriptions of the API consumer that - invokes the method. It can be used, e.g., for resynchronization after - error situations. - - This method shall follow the provisions specified in the tables - 5.5.4.3.2-1 and 5.5.4.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of - all active subscriptions of the functional block that invokes the - method, i.e., zero or more representations of NFV-MANO - configuration and information management subscriptions as defined - in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to - reference to NFV-MANO services in a filter. They - should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information about a subscription by reading an "Individual - subscription" resource. - - This method shall follow the provisions specified in the tables - 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual subscription - has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management - changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and - information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Terminates an individual subscription. - - This method shall follow the provisions specified in the tables - 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /change_state_ops: - get: - description: > - The API consumer can use the GET method to query status information - about multiple change state operation occurrences. - - This method shall follow the provisions specified in the tables - 5.5.8.3.2-1 and 5.5.8.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ChangeStateOpOcc structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", - as defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual - resource, and may be present according to the chosen - attribute selector parameter if this data type is - returned in a response to a query of a container - resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/change_state_ops/{changeStateOpOccId}': - parameters: - - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The API consumer can use the GET method to retrieve status information - about a change state operation occurrence by reading an "Individual - change state operation occurrence" resource. - - This method shall follow the provisions specified in the tables - 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an "Individual change - state operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change - state operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request - data type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /peer_entities: - post: - description: > - Creates in the producer NFV-MANO functional entity a new peer entity - resource which contains configuration and information with regards to - the peer functional entity. - - This method shall follow the provisions specified in the tables - 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a - new peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has - been created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause - 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that - points to the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual peer entity" - resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - Queries information and configuration in the producer NFV-MANO - functional entity with regards to multiple peer entities. - - This method shall follow the provisions specified in the tables - 5.5.13.3.2-1 and 5.5.13.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or - none of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more peer entities - has been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - peerEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: > - Human-readable description of the peer functional - entity. - - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the - API. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The major version is - defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used - by the API consumer accessing the API. - - The support of authorization methods for the - API consumer is specified in clause 8.3.6 of - ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC - 5246. - OAUTH2: Using access token, as defined - by the OAuth 2.0 specification in IETF RFC - 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS - negotiation with the authorization server. - Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the - use of TLS tunnel. Shall be present if - authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be - declared as supported by the API consumer - when performing the SSL or TLS negotiation - with the API producer. Valid values of - cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the - API consumer when creating the resource or when - updating it with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/peer_entities/{peerEntityId}': - parameters: - - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - Retrieves information and configuration hold in the producer NFV-MANO - functional entity with regards to a peer entity by reading an - individual peer entity resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual peer - functional entity has been read successfully. - - The response body shall contain a resource representation of the - peer functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - Modifies configuration and information of the producer NFV-MANO - functional entity with regards to a peer functional entity by updating - the corresponding "Individual peer entity" resource. - - Changes to the configurable parameters of the corresponding peer entity - are applied to the information managed by the producer NFV-MANO - functional entity and reflected in the representation of this resource. - - This method shall follow the provisions specified in the tables - 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: > - Parameters for the modification of configuration parameters of the - peer functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " - PeerEntity ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined - in clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were - performed on an "Individual peer entity" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in - clause 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the - producer NFV MANO functional entity from another peer - functional entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by - the NFV-MANO functional entity. Valid values are - defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It - provides the information relevant about the - protocol, host and port, and path where the - interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the - interface is compliant to (see also clause 4.1 - of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information - for accessing an NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI - GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS - tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the - OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as - defined in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the authorization server. Valid values of - cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with - the API producer. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of - certain entries in the "consumedManoInterfaces" attribute - in "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: > - Ddeletes an individual peer entity resource. By deleting such a - resource in the producer NFV-MANO functional entity representing a peer - NFV-MANO entity, the configuration and information with regards to such - peer entity is deleted. Consequently, the peering relationship between - the producer NFV-MANO functional entity and the peer entity is - terminated, i.e., the producer NFV-MANO functional entity does not have - the necessary information to communicate/interact with the peer entity. - - This method shall follow the provisions specified in the tables - 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the - "Individual peer entity" resource. - - Typically, this is due to the fact that another operation is - ongoing. - - The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in - an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - schemas: - ManoEntity: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional entity. - It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component realizing - part of an NFV-MANO functional entity. It is optional for the API - producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of the - ManoService is referred. A service may depend on multiple - components. Multiple services may depend on the same - component. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the NFV-MANO - functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional entity’s - application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO - entity, and that can be relevant to more than one NFV-MANO service - offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see table - 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO service - offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - ManoConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute array - in the "ManoEntityConfigurableParams", as defined below this - table. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the "clockSyncs" - attribute array in the "ManoEntityConfigurableParams", as defined - below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - ManoConfigModifications: - description: > - This type represents attribute modifications that were performed on the - "NFV-MANO entity" resource of the producer NFV-MANO functional entity. - The attributes that can be included consist of those requested to be - modified explicitly in the "ManoConfigModificationRequest" data - structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoEntity", as defined in clause 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain entries - in "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as defined in - clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - If present, this attribute signals modification of the "name" - attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - CimSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO configuration and information management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - CimSubscription: - description: > - This type represents a subscription related to notifications about - NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - ChangeStateRequest: - description: > - This type represents request parameters for changing the state of a - managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - ChangeStateOpOcc: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute shall - be formatted according to the request data type of the related - change state operation. - - The following mapping between operationType and the data type of - this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned in a - response to reading an individual resource, and may be present - according to the chosen attribute selector parameter if this data - type is returned in a response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - ManoServiceInterface: - description: > - This type represents an individual NFV-MANO service interface produced - by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO functional entity interface. - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - ManoServiceInterfaceModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer NFV-MANO - functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - ManoServiceInterfaceModifications: - description: > - This type represents attribute modifications that were performed on an - Individual NFV-MANO service interface" resource. The attributes that - can be included consist of those requested to be modified explicitly in - the "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the API client. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - CreatePeerEntityRequest: - description: > - This type represents request parameters for the creation of a new peer - entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - PeerEntity: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO functional - entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API consumer - when creating the resource or when updating it with the PATCH - method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - PeerEntityConfigModificationRequest: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or "null" - to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity ", as - defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - PeerEntityConfigModifications: - description: > - This type represents attribute modifications that were performed on an - "Individual peer entity" resource. The attributes that can be included - consist of those requested to be modified explicitly in the - "PeerEntityConfigModificationRequest" data structure. If applicable, - additional attributes of the "PeerEntity" data structure that were - modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer NFV - MANO functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and - path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API - consumer accessing the API. - - The support of authorization methods for the API consumer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When - used, the request to the WebFinger resource shall - conform as specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI - GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing the SSL - or TLS negotiation with the API producer. Valid - values of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain entries - in the "consumedManoInterfaces" attribute in "PeerEntity", as - defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - ManoConfigurableParams: - description: | - # Warning: No definition found in the document ManoConfigurableParams - ManoEntityComponent: - description: > - This type represents information of a deployed component realizing part - of an NFV-MANO functional entity. It is optional for the API producer - to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the NFV-MANO - functional entity component. The identifier of the ManoService is - referred. A service may depend on multiple components. Multiple - services may depend on the same component. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - id - ManoService: - description: > - This type represents information about an NFV-MANO service provided by - the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" resources - with information about the associated interfaces to the - NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - NfvoSpecificInfo: - description: > - This type represents information attributes specific to an NFVO entity, - and that can be relevant to more than one NFV-MANO service offered by - an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on the NFVO. - - NOTE: If this attribute is not present, the value of this parameter - is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - VnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to determine - the compatibility of a VNF with certain VNFM according to the - vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS - NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - VimSpecificInfo: - description: > - This type represents information attributes specific to a VIM entity, - and that can be relevant to more than one NFV-MANO service offered by a - VIM entity. - type: object - ManoEntityConfigurableParams: - description: > - This type represents list of parameters that can be configured on the - NFV MANO functional entity. - type: object - properties: - clockSyncs: - description: >- - Properties of the clock synchronization to be used by the NFV-MANO - functional entity. - type: array - items: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - type - minItems: 1 - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - required: - - clockSyncs - - defaultLogCompileBySizeValue - - defaultLogCompileByTimerValue - ConsumedManoInterfaceInfo: - description: > - This type represents an interface consumed by the producer NFV MANO - functional entity from another peer functional entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the NFV-MANO - functional entity. Valid values are defined in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides the - information relevant about the protocol, host and port, and path - where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - {apiName} of each interface is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be present - for ETSI NFV specified RESTful NFV-MANO APIs. The major version - is defined in the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by - TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as - defined by the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, - the request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API consumer when performing the SSL or TLS negotiation - with the API producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - CimNotificationsFilter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO configuration and information management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - ClockSyncInfo: - description: | - This type represents parameters for connecting to an NTP server. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. Shall be - present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - required: - - id - - type - ServerInterfaceSecurityInfo: - description: > - This type represents security related information of an NFV-MANO - service interface produced by an NFV-MANO functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API producer. - - The support of authorization methods for the API producer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by - the API producer when performing the SSL or TLS negotiation - with the authorization server. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as supported by the - API producer when performing the SSL or TLS negotiation with the - API client. Valid values of cipher suites are defined in IETF - RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - ClientInterfaceSecurityInfo: - description: > - This type represents security related information for accessing an - NFV-MANO service interface produced by an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the API consumer - accessing the API. - - The support of authorization methods for the API consumer is - specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS - 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by - the OAuth 2.0 specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: | - OAuth 2.0 authorization server information and configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is hosted. When used, the - request to the WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined in ETSI GS - NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the authorization server. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS tunnel. - Shall be present if authType contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as supported by the - API consumer when performing the SSL or TLS negotiation with - the API producer. Valid values of cipher suites are defined in - IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - ManoServiceInterfaceTypeShortName: - description: "For the RESTful NFV-MANO APIs, valid values are all values for \"apiName\" as defined in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.\nFor the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid values are defined in table 5.6.4.3-1.\nNOTE:\tThe table is expected to be updated, by removing the corresponding listed entries, once the interfaces are specified as a RESTful NFV-MANO API. \n" - type: string - UsageStateEnumType: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - ChangeOperationalStateEnumType: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - ChangeAdministrativeStateEnumType: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - InterfaceOperationalStateEnumType: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - StopEnumType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - ManoEntityEnumType: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - PeerEntityEnumType: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - parameters: - filter.ManoServiceInterface: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ManoServiceInterface and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.CimSubscription: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the CimSubscription and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.ChangeStateOpOcc: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the ChangeStateOpOcc and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - filter.PeerEntity: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PeerEntity and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - exclude_default.ManoServiceInterface: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the - ManoServiceInterface structure in the response body if this parameter - is provided, or none of the parameters "all_fields," "fields", - "exclude_fields", "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.CimSubscription: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the CimSubscription - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.ChangeStateOpOcc: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the ChangeStateOpOcc - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - exclude_default.PeerEntity: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PeerEntity - structure in the response body if this parameter is provided, or none - of the parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - manoServiceInterfaceId: - name: manoServiceInterfaceId - in: path - description: Identifier of the MANO service interface. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - changeStateOpOccId: - name: changeStateOpOccId - in: path - description: Identifier of the change state operation occurrence - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - name: peerEntityId - in: path - description: Identifier of the peer entity - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - ModifyManoEntityRequest: - description: > - Parameters for the NFV-MANO configuration and information modification, - as defined in clause 5.6.2.3. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO functional entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "ManoEntity". - type: string - description: - description: | - New value of the "description" attribute in "ManoEntity". - type: string - clockSyncs: - description: > - New content of certain entries in the "clockSyncs" attribute - array in the "ManoEntityConfigurableParams", as defined below - this table. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - List of identifiers entries to be deleted from the - "clockSyncs" attribute array in the - "ManoEntityConfigurableParams", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - New content of certain entries in the "manoServices" attribute - array in the "ManoEntity", as defined below this table. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - description: - description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" - type: string - required: - - id - required: true - ChangeManoEntityStateRequest: - description: | - Parameters for the change state operation, as defined in clause 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - ModifyManoEnityInterfaceRequest: - description: > - Parameters for the modification of configuration parameters of the - NFV-MANO service interface, as defined in clause 5.6.2.12. - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of an NFV-MANO service interface of the producer - NFV-MANO functional entity. - type: object - properties: - name: - description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: true - ChangeManoEntityInterfaceStateRequest: - description: > - Parameters for the change state operation, as defined in clause - 5.6.2.8. - content: - application/json: - schema: - description: > - This type represents request parameters for changing the state of - a managed entity. - type: object - properties: - operationalStateChange: - description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - operationalStateAction: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - stopType: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" - type: string - enum: - - GRACEFUL - - FORCEFUL - gracefulStopTimeout: - description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" - type: integer - required: - - operationalStateAction - administrativeStateChange: - description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" - type: object - properties: - administrativeStateAction: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - required: - - administrativeStateAction - required: true - CimSubscriptionRequest: - description: > - Details of the subscription to be created, as defined in clause - 5.6.2.5-1. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO configuration and information - management changes. - type: object - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - CreatePeerEntityRequest: - description: | - The peer entity creation parameters, as defined in clause 5.6.2.14. - content: - application/json: - schema: - description: > - This type represents request parameters for the creation of a new - peer entity resource. - type: object - properties: - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: | - Current values of the state of the peer functional entity. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - peerEntityId - - name - - type - required: true - ModifyPeerEntityRequest: - description: > - Parameters for the modification of configuration parameters of the peer - functional entity, as defined in clause 5.6.2.16 - - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/merge-patch+json: - schema: - description: > - This type represents attribute modifications for configuration - parameters of a peer entity. - type: object - properties: - name: - description: | - New value of the "name" attribute in "PeerEntity". - type: string - description: - description: > - New value of the "description" attribute in "PeerEntity", or - "null" to remove the attribute. - type: string - consumedManoInterfaces: - description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - List of identifiers entries to be deleted from the - "consumedManoInterfaces" attribute array in the " PeerEntity - ", as defined below this table. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: true - responses: - mano_entity.get.200: - description: > - 200 OK - - Shall be returned when configuration and information about the NFV-MANO - functional entity has been read successfully. The response body shall - contain a representation of the NFV-MANO functional entity, as defined - in clause 5.6.2.2. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an NFV-MANO functional entity. - type: object - required: - - id - - type - - name - - description - - provider - - softwareVersion - - manoConfigurableParams - - manoApplicationState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - type: - description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - name: - description: | - Human-readable name of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO functional entity. - This attribute can be modified with the PATCH method. - type: string - provider: - description: > - Information about the provider of the NFV-MANO functional - entity. It typically includes the name of the provider. - type: string - softwareVersion: - description: > - The version of the software of the NFV-MANO functional entity. - $ref: - "../components/SOL009_schemas.yaml#/components/schemas/Version" - manoEntityComponents: - description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" - type: array - items: - description: > - This type represents information of a deployed component - realizing part of an NFV-MANO functional entity. It is - optional for the API producer to support this type. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - manoServiceIds: - description: > - References to the NFV-MANO services that depend on the - NFV-MANO functional entity component. The identifier of - the ManoService is referred. A service may depend on - multiple components. Multiple services may depend on the - same component. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - id - manoServices: - description: > - Information about the NFV-MANO services provided by the - NFV-MANO functional entity. - type: array - items: - description: > - This type represents information about an NFV-MANO service - provided by the NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: | - Human-readable name of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - description: - description: | - Human-readable description of the NFV-MANO service. - This attribute can be modified with the PATCH method. - type: string - manoServiceInterfaceIds: - description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - minItems: 1 - _links: - description: | - Links to resources related to this resource. - type: object - properties: - manoServiceInterfaces: - description: > - Link to the "individual NFV-MANO service interface" - resources with information about the associated - interfaces to the NFV-MANO service. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - minItems: 1 - required: - - manoServiceInterfaces - required: - - id - - name - - description - - manoServiceInterfaceIds - - _links - manoConfigurableParams: - description: > - # Warning: No definition found in the document - ManoConfigurableParams - manoApplicationState: - description: > - Information and current values of the NFV-MANO functional - entity’s application state. - type: object - required: - - operationalState - - administrativeState - - usageState - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - nfvoSpecificInfo: - description: > - This type represents information attributes specific to an - NFVO entity, and that can be relevant to more than one - NFV-MANO service offered by an NFVO entity. - type: object - properties: - maxOnboardedNsdNum: - description: > - Maximum number of NSDs that can be on-boarded on the - NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - maxOnboardedVnfPkgNum: - description: > - Maximum number of VNF Packages that can be on-boarded on - the NFVO. - - NOTE: If this attribute is not present, the value of this - parameter is undefined. - type: integer - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - supportedNsdFormats: - description: | - Supported NSD data formats. - type: object - properties: - nsdFormat: - description: | - Name of the NSD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - nsdFormat - - standardVersion - required: - - supportedVnfdFormats - - supportedNsdFormats - vnfmSpecificInfo: - description: > - This type represents information attributes specific to a VNFM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VNFM entity. - type: object - properties: - resoruceMgmtModeSupport: - description: | - The supported resource management modes of the VNFM. - Permitted values: - - DIRECT: The VNFM supports direct mode only. - - INDIRECT: The VNFM supports indirect mode only. - - BOTH: The VNFM supports both direct and indirect mode. - type: string - enum: - - DIRECT - - INDIRECT - - BOTH - managedVnfInstanceInfos: - description: > - The kinds of VNF instances that can be managed, e.g. to - determine the compatibility of a VNF with certain VNFM - according to the vnfmInfo attribute in the VNFD (see - table 7.1.2.2-1 in ETSI GS NFV-IFA 011). - type: array - items: - type: string - minItems: 1 - supportedVnfdFormats: - description: | - Supported VNFD data formats. - type: array - items: - type: object - properties: - vnfdFormat: - description: | - Name of the VNFD format. - Permitted values: - - TOSCA: The VNFD follows TOSCA definition, according to ETSI - GS NFV-SOL 001 standard. - - YANG: The VNFD follows YANG definition according to ETSI - GS NFV-SOL 006 standard. - type: string - enum: - - TOSCA - - YANG - standardVersion: - description: | - A version. - type: string - required: - - vnfdFormat - - standardVersion - minItems: 1 - required: - - resoruceMgmtModeSupport - - managedVnfInstanceInfos - - supportedVnfdFormats - vimSpecificInfo: - description: > - This type represents information attributes specific to a VIM - entity, and that can be relevant to more than one NFV-MANO - service offered by a VIM entity. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - manoServiceInterfaces - - peerEntities - - changeState - - changeStateOpOccs - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - manoServiceInterfaces: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - peerEntities: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeState: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - changeStateOpOccs: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - mano_entity.patch.200: - description: > - 200 OK - - Shall be returned when the modification of configuration on the - NFV-MANO functional entity has been accepted and completed. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on the "NFV-MANO entity" resource of the producer NFV-MANO - functional entity. The attributes that can be included consist of - those requested to be modified explicitly in the - "ManoConfigModificationRequest" data structure. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the - "name" attribute in "ManoEntity", as defined in clause - 5.6.2.3 - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "ManoEntity", as defined in clause - 5.6.2.3. - type: string - clockSyncs: - description: > - If present, this attribute signals modifications of the - "clockSyncs" attribute in "ManoEntityConfigurableParams", as - defined in clause 5.6.2.3. - type: array - items: - description: > - This type represents parameters for connecting to an NTP - server. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - type: - description: | - Type of clock synchronization. - Permitted values: - - NTP: For Network Time Protocol (NTP) based clock synchronization. - - OTHER: For other types of clock synchronization. - type: string - enum: - - NTP - - OTHER - ntpServerInfo: - description: > - Information for the NTP based clock synchronization. - Shall be present if type = "NTP". - type: object - properties: - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - hostname: - description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" - type: string - otherClockSyncParams: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - id - - type - clockSyncsDeleteIds: - description: > - If present, this attribute signals modifications of certain - entries in "clockSyncs" attribute in - "ManoEntityConfigurableParams", as defined in clause 5.6.2.3. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - defaultLogCompileBySizeValue: - description: | - Unsigned integer - type: number - defaultLogCompileByTimerValue: - description: | - Unsigned integer - type: number - manoServiceModifications: - description: > - If present, this attribute signals modifications of the - "manoServices" attribute array in the "ManoEntity", as - defined in clause 5.6.2.3. - type: array - items: - type: object - properties: - id: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - name: - description: > - If present, this attribute signals modification of the - "name" attribute in the "ManoService". - type: string - description: - description: > - If present, this attribute signals modification of the - "description" attribute in the "ManoService". - type: string - required: - - id - mano_entity.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "NFV-MANO - entity" resource. - - Typically, this is due to the fact that another configuration and - information modification is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a "Location" HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interfaces.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more NFV-MANO service - interfaces has been queried successfully. - - The response body shall contain in an array the representations of zero - or more NFV-MANO service interfaces, as defined in clause 5.6.2.11. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant to - (see also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. - The major version is defined in the standard the - interface is compliant to (see also clause 4.1 of ETSI - GS NFV-SOL 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO - functional entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API - producer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the authorization - server. Valid values of cipher suites are defined - in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the - SSL or TLS negotiation with the API client. Valid - values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interfaces.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.get.200: - description: > - 200 OK - - Shall be returned when information about an individual NFV-MANO service - interface has been read successfully. - - The response body shall contain a representation of the NFV-MANO - service interface, as defined in clause 5.6.2.11. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents an individual NFV-MANO service interface - produced by an NFV-MANO functional entity. - type: object - properties: - id: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - name: - description: > - Human-readable name of the NFV-MANO functional entity - interface. - - This attribute can be modified with the PATCH method. - type: string - type: - description: > - Type of the NFV-MANO service interface produced by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - providerSpecificApiVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: | - Exposed API endpoint of the interface. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. Shall - be present for ETSI NFV specified RESTful NFV-MANO APIs. - The {apiName} of each interface is defined in the - standard the interface is compliant to (see also clause - 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. Shall be - present for ETSI NFV specified RESTful NFV-MANO APIs. The - major version is defined in the standard the interface is - compliant to (see also clause 4.1 of ETSI GS NFV-SOL - 013). May be present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - maxConcurrentIntOpNumber: - description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - supportedOperations: - description: | - Information about supported operations of this interface. - type: array - items: - type: object - properties: - operationName: - description: | - Name of the operation supported on the interface. - type: string - maxConcurrentOpNumber: - description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" - type: integer - required: - - operationName - minItems: 1 - interfaceState: - description: | - State of the NFV-MANO service interface. - properties: - operationalState: - description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - usageState: - description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" - type: string - enum: - - IN_USE - - NOT_IN_USE - required: - - operationalState - - administrativeState - - usageState - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - required: - - id - - name - - type - - standardVersion - - providerSpecificApiVersion - - apiVersion - - apiEndpoint - - supportedOperations - - interfaceState - mano_entity-mano_interface.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual NFV-MANO service interface" resource, - as defined in clause 5.6.2.13. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an Individual NFV-MANO service interface" resource. The - attributes that can be included consist of those requested to be - modified explicitly in the - "ManoServiceInterfaceModificationRequest" data structure. If - applicable, additional attributes of the "ManoServiceInterface" - data structure that were modified implicitly shall also be - provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "ManoServiceInterface", as defined in clause - 5.6.2.11. - type: string - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - securityInfo: - description: > - This type represents security related information of an - NFV-MANO service interface produced by an NFV-MANO functional - entity. - type: object - properties: - authType: - description: > - Type of API request authorization to be used by the API - producer. - - The support of authorization methods for the API producer - is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. - - Permitted values: - - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - - OAUTH2: Using access token, as defined by the OAuth 2.0 specification - in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - webFingerHost: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - webFingerHost - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - properties: - authServerId: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - authServerId - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the authorization server. - Valid values of cipher suites are defined in IETF RFC - 8447. - type: array - items: - type: string - minItems: 1 - required: - - providedConfiguration - - tlsCipherSuites - tlsTunnelInfo: - description: > - Information and configuration related to the use of TLS - tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: >- - List of cipher suites that shall be declared as - supported by the API producer when performing the SSL - or TLS negotiation with the API client. Valid values - of cipher suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - tlsTunnelCipherSuites - required: - - authType - - oauthServerInfo - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - mano_entity-mano_interface.patch.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - NFV-MANO service interface" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - mano_entity-mano_interface-change_state.post.202: - description: > - 202 ACCEPTED - - Shall be returned when the request has been accepted for processing. - - The response body shall be empty. - - The HTTP response shall include a “Location†HTTP header that contains - the URI of the newly-created "Individual change state operation - occurrence" resource corresponding to the operation. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - mano_entity-mano_interface-change_state.post.409: - description: > - 409 CONFLICT - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the resource. - - Typically, this is due to the fact that the resource is in an - incompatible state, or that another change state operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute shall convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - - The response body shall contain a representation of the created - "Individual subscription" resource. - - The HTTP response shall include a "Location" HTTP header that points to - the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.post.303: - description: > - 303 SEE OTHER - - SShall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of NFV-MANO functional - entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing "Individual subscription" resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual subscription" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - subscriptions.get.200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method, - i.e., zero or more representations of NFV-MANO configuration and - information management subscriptions as defined in clause 5.6.2.6. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscriptions.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscription.get.200: - description: > - 200 OK - - Shall be returned when information about an individual subscription has - been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about NFV-MANO configuration and information management changes - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO configuration and information - management. - type: object - properties: - manoEntitySubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" - type: array - items: - type: string - enum: - - InformationChangedNotification - - ChangeStateNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - callbackUri - - _links - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - change_state_ops.get.200: - description: > - 200 OK - - Shall be returned when status information for zero or more "change - state operation occurrences" has been queried successfully. - - The response body shall contain in an array the status information - about zero or more "Individual change state operation occurrences", as - defined in clause 5.6.2.9. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This - attribute shall be formatted according to the request data - type of the related change state operation. - - The following mapping between operationType and the data - type of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is - returned in a response to reading an individual resource, - and may be present according to the chosen attribute - selector parameter if this data type is returned in a - response to a query of a container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - change_state_ops.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: > - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - change_state_op.get.200: - description: > - 200 OK - - Shall be returned when information about an "Individual change state - operation occurrence" resource has been read successfully. - - The response body shall contain status information about a change state - operation occurrence, as defined in clause 5.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a Change state operation occurrence. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" - type: string - enum: - - PROCESSING - - COMPLETED - - FAILED - stateEnteredTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - managedObjectRef: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - changeOperationalStateRequest: - description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" - type: string - enum: - - START - - STOP - - RESTART - changeAdministrativeStateRequest: - description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" - type: string - enum: - - LOCK - - UNLOCK - operationParams: - description: > - Input parameters of the change state operation. This attribute - shall be formatted according to the request data type of the - related change state operation. - - The following mapping between operationType and the data type - of this attribute shall apply: - - CHANGE_STATE: ChangeStateRequest - - This attribute shall be present if this data type is returned - in a response to reading an individual resource, and may be - present according to the chosen attribute selector parameter - if this data type is returned in a response to a query of a - container resource. - required: - - id - - operationState - - stateEnteredTime - - startTime - - managedObjectRef - peer_entities.post.201: - description: > - 201 CREATED - - Shall be returned when a new "Individual peer entity" resource has been - created successfully. - - The response body shall contain a representation of the created - resource with regards to a peer entity, as defined in clause 5.6.2.15. - - The HTTP response shall include a “Location†HTTP header that points to - the created "Individual peer entity" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - The resource URI of the created "Individual peer entity" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more peer entities has - been queried successfully. - - The response body shall contain in an array the resource - representations of zero or more peer entities, as defined in clause - 5.6.2.15. - - If the “filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative N°2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined - in clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be - accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated - form. Shall be present for ETSI NFV specified - RESTful NFV-MANO APIs. The {apiName} of each - interface is defined in the standard the interface - is compliant to (see also clause 4.1 of ETSI GS - NFV-SOL 013). May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in - the standard the interface is compliant to (see - also clause 4.1 of ETSI GS NFV-SOL 013). May be - present otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by - an NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by - the API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, - as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: - Using access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use - of TLS tunnel. Shall be present if authType - contains "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared - as supported by the API consumer when - performing the SSL or TLS negotiation with the - API producer. Valid values of cipher suites - are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it - with the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entities.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.get.200: - description: > - 200 OK - - Shall be returned when information about an individual peer functional - entity has been read successfully. - - The response body shall contain a resource representation of the peer - functional entity, as defined in clause 5.6.2.15. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents an individual peer entity. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - peerEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - name: - description: | - Human-readable name of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - type: - description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" - type: string - enum: - - NFVO - - VNFM - - VIM - - WIM - - EM - - OSS - description: - description: | - Human-readable description of the peer functional entity. - This attribute can be modified with the PATCH method. - type: string - consumedManoInterfaces: - description: > - Information of the interface consumed by the NFV-MANO - functional entity from the peer functional entity. - - This attribute can be modified with the PATCH method. - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - peerEntityState: - description: > - State of the peer functional entity as provided by the API - consumer when creating the resource or when updating it with - the PATCH method. - type: object - properties: - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - required: - - operationalState - - administrativeState - required: - - id - - peerEntityId - - name - - type - - peerEntityState - peer_entitie.patch.200: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - - The response body shall contain a representation of the attribute - modifications for the "Individual peer entity" resource, as defined in - clause 5.6.2.17. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents attribute modifications that were performed - on an "Individual peer entity" resource. The attributes that can - be included consist of those requested to be modified explicitly - in the "PeerEntityConfigModificationRequest" data structure. If - applicable, additional attributes of the "PeerEntity" data - structure that were modified implicitly shall also be provided. - type: object - properties: - name: - description: > - If present, this attribute signals modifications of the "name" - attribute in "PeerEntity", as defined in clause 5.6.2.15. - type: string - description: - description: > - If present, this attribute signals modifications of the - "description" attribute in "PeerEntity", as defined in clause - 5.6.2.15. - type: string - consumedManoInterfaces: - description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" - type: array - items: - description: > - This type represents an interface consumed by the producer - NFV MANO functional entity from another peer functional - entity. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - name: - description: | - Human-readable name of the NFV-MANO interface. - type: string - type: - description: > - Type of the NFV-MANO service interface consumed by the - NFV-MANO functional entity. Valid values are defined in - clause 5.6.4.3. - type: string - standardVersion: - description: | - A version. - type: string - apiVersion: - description: | - A version. - type: string - apiEndpoint: - description: > - Consumable API endpoint of the interface. It provides - the information relevant about the protocol, host and - port, and path where the interface API can be accessed. - type: object - properties: - apiRoot: - description: | - String formatted according to IETF RFC 3986. - type: string - apiName: - description: > - Indicates the interface name in an abbreviated form. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The {apiName} of each interface is - defined in the standard the interface is compliant - to (see also clause 4.1 of ETSI GS NFV-SOL 013). - May be present otherwise. - type: string - apiMajorVersion: - description: > - Indicates the current major version of the API. - Shall be present for ETSI NFV specified RESTful - NFV-MANO APIs. The major version is defined in the - standard the interface is compliant to (see also - clause 4.1 of ETSI GS NFV-SOL 013). May be present - otherwise. - type: string - apiUri: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - apiUri - securityInfo: - description: > - This type represents security related information for - accessing an NFV-MANO service interface produced by an - NFV-MANO functional entity. - type: object - required: - - authType - - oauthServerInfo - properties: - authType: - description: > - Type of API request authorization to be used by the - API consumer accessing the API. - - The support of authorization methods for the API - consumer is specified in clause 8.3.6 of ETSI GS - NFV-SOL 013. - - Permitted values: - TLS_TUNNEL: Using TLS tunnel, as - defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using - access token, as defined by the OAuth 2.0 - specification in IETF RFC 6749. - type: array - items: - type: string - enum: - - TLS_TUNNEL - - OAUTH2 - minItems: 1 - oauthServerInfo: - description: > - OAuth 2.0 authorization server information and - configuration. - type: object - properties: - dynamicDiscovery: - description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - webFingerHost - properties: - webFingerHost: - description: > - Server where the WebFinger service is - hosted. When used, the request to the - WebFinger resource shall conform as - specified in clause 5.1.3 of ETSI GS - NFV-SEC 022. - type: string - format: uri - providedConfiguration: - description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" - type: object - required: - - authServerId - properties: - authServerId: - description: > - Authorization server identifier as defined - in ETSI GS NFV-SEC 022. - type: string - format: uri - tlsCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the - authorization server. Valid values of cipher - suites are defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - tlsTunnelInfo: - description: > - Information and configuration related to the use of - TLS tunnel. Shall be present if authType contains - "TLS_TUNNEL". - type: object - properties: - tlsTunnelCipherSuites: - description: > - List of cipher suites that shall be declared as - supported by the API consumer when performing - the SSL or TLS negotiation with the API - producer. Valid values of cipher suites are - defined in IETF RFC 8447. - type: array - items: - type: string - minItems: 1 - required: - - id - - name - - type - - standardVersion - - apiVersion - - apiEndpoint - consumedManoInterfaceDeleteIds: - description: > - If present, this attribute signals the deletions of certain - entries in the "consumedManoInterfaces" attribute in - "PeerEntity", as defined in clause 5.6.2.15. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - operationalState: - description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" - type: string - enum: - - STARTED - - STOPPED - - STOPPING - - STARTING - - RESTARTING - administrativeState: - description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" - type: string - enum: - - LOCKED - - UNLOCKED - - LOCKING - peer_entitie.patch.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.patch.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual peer entity" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - peer_entitie.delete.409: - description: > - 409 CONFLICT. - - Shall be returned upon the following error: The operation cannot be - executed currently, due to a conflict with the state of the "Individual - peer entity" resource. - - Typically, this is due to the fact that another operation is ongoing. - - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - peer_entitie.delete.412: - description: > - 412 PRECONDITION FAILED - - Shall be returned upon the following error: A precondition given in an - HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 3680ae513..2fe757dd3 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -176,11 +176,11 @@ DELETE Subscriptions - Method not implemented POST Create a new subscription - Unprocessable Entity [Documentation] Test ID: 8.3.1.10.13 ... Test title: POST Create a new Subscription - Unprocessable Entity - ... Test objective: The objective is to test that for a POST request for a new subscription, if the test by NFV-MANO for notification endpoint fails, then error 422 will be returned. + ... Test objective: The objective is to test that a new subscription is not created if the notification endpoint is unreachable by the NFV-MANO. ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: Notification endpoint test by NFV-MANO fails. + ... Applicability: Notification endpoint is unreachable by the NFV-MANO ... Post-Conditions: none Send Post Request for Subscription with Unreachable callbackUri Check HTTP Response Status Code Is 422 -- GitLab From a9091851991cba9d8ffac157cd1130b42890b5c8 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:10:40 +0500 Subject: [PATCH 170/211] comment out unused variabes from CIM API variables.txt file --- .../NFVMANOCimKeywords.robot | 164 +++++++++--------- .../environment/variables.txt | 16 +- 2 files changed, 90 insertions(+), 90 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index a88658791..c77617894 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -33,7 +33,7 @@ Check HTTP Response Body Json Schema Is Send Post request for NFV-MANO Entity Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -41,7 +41,7 @@ Send Post request for NFV-MANO Entity GET NFV-MANO entity resource Log Trying to get a NFV-MANO entity resource Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -49,7 +49,7 @@ GET NFV-MANO entity resource Send Put request for NFV-MANO Entity Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -61,7 +61,7 @@ Send Patch request for NFV-MANO Entity log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/ManoConfigModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${body} ${outputResponse}= Output response @@ -70,7 +70,7 @@ Send Patch request for NFV-MANO Entity Send Delete request for NFV-MANO Entity Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response Set Suite Variable ${response} ${output} @@ -78,7 +78,7 @@ Send Delete request for NFV-MANO Entity Send Post request for NFV-MANO functional entity application state change Log Trying to perform a POST for NFV-MANO functional entity application state change Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ChangeStateRequest.json ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state @@ -90,7 +90,7 @@ Wait for entity state change success notification and validate status Check entity state Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -101,7 +101,7 @@ Check entity state Send Get request for NFV-MANO functional entity application state change Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -109,7 +109,7 @@ Send Get request for NFV-MANO functional entity application state change Send Put request for NFV-MANO functional entity application state change Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity/change_state ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -120,7 +120,7 @@ Send Put request for NFV-MANO functional entity application state change Send Patch request for NFV-MANO functional entity application state change Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -128,7 +128,7 @@ Send Patch request for NFV-MANO functional entity application state change Send Delete request for NFV-MANO functional entity application state change Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -136,7 +136,7 @@ Send Delete request for NFV-MANO functional entity application state change Send Post request for Change State Operation Occurrences Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${output}= Output response Set Suite Variable ${response} ${output} @@ -144,7 +144,7 @@ Send Post request for Change State Operation Occurrences Get Change State Operation Occurrences Log Query to GET information about multiple change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response @@ -152,7 +152,7 @@ Get Change State Operation Occurrences Get Change State Operation Occurrences with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?attribute_not_exist=some_value ${outputResponse}= Output response @@ -160,7 +160,7 @@ Get Change State Operation Occurrences with invalid filter Get Change State Operation Occurrences with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=wrong_field ${outputResponse}= Output response @@ -169,7 +169,7 @@ Get Change State Operation Occurrences with invalid selector Get Change State Operation Occurrences with filter Log Query information about multiple change state operation occurrences with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?${filter}=${filter_value} ${outputResponse}= Output response @@ -178,7 +178,7 @@ Get Change State Operation Occurrences with filter Get Change State Operation Occurrences with all_fields attribute selector Log Queries information about multiple change state operation occurrences, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -186,7 +186,7 @@ Get Change State Operation Occurrences with all_fields attribute selector Get Change State Operation Occurrences with fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -194,7 +194,7 @@ Get Change State Operation Occurrences with fields attribute selector Get Change State Operation Occurrences with exclude_default attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -202,7 +202,7 @@ Get Change State Operation Occurrences with exclude_default attribute selector Get Change State Operation Occurrences with exclude_fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -210,7 +210,7 @@ Get Change State Operation Occurrences with exclude_fields attribute selector Get Change State Operation Occurrences with fields and exclude_default attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -222,7 +222,7 @@ Check HTTP Response Header Contains Link Send PUT request for Change State Operation Occurrences log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -230,7 +230,7 @@ Send PUT request for Change State Operation Occurrences Send PATCH request for Change State Operation Occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -238,7 +238,7 @@ Send PATCH request for Change State Operation Occurrences Send DELETE request for Change State Operation Occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -246,7 +246,7 @@ Send DELETE request for Change State Operation Occurrences Send Post request for Individual Change State Operation Occurrence Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -254,7 +254,7 @@ Send Post request for Individual Change State Operation Occurrence Get Individual Change State Operation Occurrence Log Query to GET information about individual change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response @@ -263,7 +263,7 @@ Get Individual Change State Operation Occurrence Send Put request for Individual Change State Operation Occurrence log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -271,7 +271,7 @@ Send Put request for Individual Change State Operation Occurrence Send Patch request for Individual Change State Operation Occurrence log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -279,7 +279,7 @@ Send Patch request for Individual Change State Operation Occurrence Send Delete request for Individual Change State Operation Occurrence log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -287,7 +287,7 @@ Send Delete request for Individual Change State Operation Occurrence Send Post request for NFV-MANO Service Interfaces Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${output}= Output response Set Suite Variable ${response} ${output} @@ -295,7 +295,7 @@ Send Post request for NFV-MANO Service Interfaces Get NFV-MANO Service Interfaces Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response @@ -303,7 +303,7 @@ Get NFV-MANO Service Interfaces Get NFV-MANO Service Interfaces with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?attribute_not_exist=some_value ${outputResponse}= Output response @@ -311,7 +311,7 @@ Get NFV-MANO Service Interfaces with invalid filter Get NFV-MANO Service Interfaces with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=wrong_field ${outputResponse}= Output response @@ -320,7 +320,7 @@ Get NFV-MANO Service Interfaces with invalid selector Get NFV-MANO Service Interfaces with filter Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?${filter}=${filter_value} ${outputResponse}= Output response @@ -329,7 +329,7 @@ Get NFV-MANO Service Interfaces with filter Get NFV-MANO Service Interfaces with all_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -337,7 +337,7 @@ Get NFV-MANO Service Interfaces with all_fields attribute selector Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -345,7 +345,7 @@ Get NFV-MANO Service Interfaces with exclude_default and fields attribute select Get NFV-MANO Service Interfaces with fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -353,7 +353,7 @@ Get NFV-MANO Service Interfaces with fields attribute selector Get NFV-MANO Service Interfaces with exclude_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -361,7 +361,7 @@ Get NFV-MANO Service Interfaces with exclude_fields attribute selector Send PUT request for NFV-MANO Service Interfaces log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -369,7 +369,7 @@ Send PUT request for NFV-MANO Service Interfaces Send PATCH request for NFV-MANO Service Interfaces log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -377,7 +377,7 @@ Send PATCH request for NFV-MANO Service Interfaces Send DELETE request for NFV-MANO Service Interfaces log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -385,14 +385,14 @@ Send DELETE request for NFV-MANO Service Interfaces Send Post request for Individual NFV-MANO Service Interface Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${output}= Output response Set Suite Variable ${response} ${output} Get Individual NFV-MANO Service Interface Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response @@ -401,7 +401,7 @@ Get Individual NFV-MANO Service Interface Send Put request for Individual NFV-MANO Service Interface log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -410,7 +410,7 @@ Send Patch request for Individual NFV-MANO Service Interface log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/ManoServiceInterfaceModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${body} ${outputResponse}= Output response @@ -419,7 +419,7 @@ Send Patch request for Individual NFV-MANO Service Interface Send Delete request for Individual NFV-MANO Service Interface log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -427,7 +427,7 @@ Send Delete request for Individual NFV-MANO Service Interface Send Post request for Change interface state task Log Trying to perform a POST for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/ChangeStateRequest.json ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} @@ -439,7 +439,7 @@ Check PostCondition NFV-MANO service interface state matches the requested state Check interface state Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -450,7 +450,7 @@ Check interface state Send Get request for Change interface state task Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -458,7 +458,7 @@ Send Get request for Change interface state task Send Put request for Change interface state task Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -469,7 +469,7 @@ Send Put request for Change interface state task Send Patch request for Change interface state task Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -477,7 +477,7 @@ Send Patch request for Change interface state task Send Delete request for Change interface state task Log Trying to perform a DELETE (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}//mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -485,7 +485,7 @@ Send Delete request for Change interface state task Send Post request for Peer Entity Log Trying to perform a POST for Peer Entity Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePeerEntityRequest.json ${body}= Format String ${template} peerEntityId=${peerEntityId} name=${name} type=${type} POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${body} @@ -495,7 +495,7 @@ Send Post request for Peer Entity Get Peer Entities Log Query to GET information about multiple peer entities. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response @@ -503,7 +503,7 @@ Get Peer Entities Get Peer Entities with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?attribute_not_exist=some_value ${outputResponse}= Output response @@ -511,7 +511,7 @@ Get Peer Entities with invalid filter Get Peer Entities with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=wrong_field ${outputResponse}= Output response @@ -520,7 +520,7 @@ Get Peer Entities with invalid selector Get Peer Entities with filter Log Query information about multiple peer entities with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?${filter}=${filter_value} ${outputResponse}= Output response @@ -529,7 +529,7 @@ Get Peer Entities with filter Get Peer Entities with all_fields attribute selector Log Queries information about multiple peer entities, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -537,7 +537,7 @@ Get Peer Entities with all_fields attribute selector Get Peer Entities with fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -545,7 +545,7 @@ Get Peer Entities with fields attribute selector Get Peer Entity with exclude_default and fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -553,7 +553,7 @@ Get Peer Entity with exclude_default and fields attribute selector Get Peer Entities with exclude_fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -561,7 +561,7 @@ Get Peer Entities with exclude_fields attribute selector Send PUT request for Peer Entities log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -569,7 +569,7 @@ Send PUT request for Peer Entities Send PATCH request for Peer Entities log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -577,7 +577,7 @@ Send PATCH request for Peer Entities Send DELETE request for Peer Entities log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -585,14 +585,14 @@ Send DELETE request for Peer Entities Send Post request for Individual Peer Entity Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Peer Entity Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response @@ -601,7 +601,7 @@ Get Individual Peer Entity Send Put request for Individual Peer Entity log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -610,7 +610,7 @@ Send Patch request for Individual Peer Entity log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${body}= Get File jsons/PeerEntityConfigModificationRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${body} ${outputResponse}= Output response @@ -619,7 +619,7 @@ Send Patch request for Individual Peer Entity Send Delete request for Individual Peer Entity log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -706,7 +706,7 @@ Check Postcondition Subscription Is Set Send Post Request for Duplicated Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CimSubscriptionRequest.json ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} allow_redirects=false @@ -735,7 +735,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab Send Put Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -743,7 +743,7 @@ Send Put Request for Subscriptions Send Patch Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -751,14 +751,14 @@ Send Patch Request for Subscriptions Send Delete Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -770,14 +770,14 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript GET individual Subscription with invalid resource identifier Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Send Delete request for individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -789,19 +789,19 @@ Check Postcondition Subscription is Deleted Send Delete request for individual Subscription with invalid resource identifier Log Trying to delete a subscription in the VNFM with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Put request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -810,7 +810,7 @@ Send Put request for individual Subscription Set Suite Variable @{response} ${output} Send Patch request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -834,7 +834,7 @@ GET Peer Entities with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${output}= Output response @@ -853,7 +853,7 @@ GET Peer Entities with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${output}= Output response diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index b86b897ab..887bff0d9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -3,19 +3,19 @@ ${NFVMANOHOST} localhost ${NFVMANO_PORT} 8080 ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX -${BAD_AUTHORIZATION} Bear sometoken +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +#${WRONG_AUTHORIZATION_TOKEN} Bearer XXXXXWRONGXXXXX +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${AUTH_USAGE} 1 -${FIELD_USAGE} 1 +#${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v2 @@ -41,8 +41,8 @@ ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 8ccbf20ab777e6fbc3408c3ffcd9817546811e1a Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:15:21 +0500 Subject: [PATCH 171/211] removed unused OpenAPI yaml --- ...L009-NFVMANOPerformanceManagement-API.yaml | 20940 ---------------- 1 file changed, 20940 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml diff --git a/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml b/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml deleted file mode 100644 index 38e44fa0c..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/SOL009-NFVMANOPerformanceManagement-API.yaml +++ /dev/null @@ -1,20940 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Performance Management Interface - description: > - SOL009 - NFV-MANO Performance Management Interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' - contact: - name: NFV-SOL WG -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://0.0.0.0/nfvmanopm/v1' - description: | - API HTTP Server - - url: 'https://0.0.0.0/nfvmanopm/v1' - description: | - API HTTPS Server -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /pm_jobs: - post: - description: > - Creates a PM job. - - This method shall follow the provisions specified in the tables - 6.5.3.3.1-1 and 6.5.3.3.1-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - PM job creation request. - content: - application/json: - schema: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is requested to be collected. This - attribute shall contain the identifier of the instance of - the measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. If more - than one identifier is provided, values shall all refer to - measured object instances of the same type, for which the - same criteria is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is present, - the cardinality of the "objectInstanceIds" attribute shall - be 1. If this attribute is absent and a sub-object is - defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, measurements will be taken - for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the PM job has been created successfully. - - The response body shall contain a representation of the created - "Individual PM job" resource, as defined in clause 6.6.2.7. - - The HTTP response shall include a "Location" HTTP header that - points to the created "Individual PM job" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is - present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, measurements - will be taken for all sub-object instances of the - measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values - as defined in clause 8.4 of ETSI GS NFV-IFA 031. At - least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: | - The client can use this method to retrieve information about PM jobs. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PmJob and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PmJob structure - in the response body if this parameter is provided, or none of the - parameters "all_fields," "fields", "exclude_fields", - "exclude_default" are provided: - none - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more PM jobs has - been queried successfully. - - The response body shall contain in an array the representations of - zero or more PM jobs, as defined in clause 6.6.2.7. - - If the "filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or - "exclude_default" URI parameters was supplied in the request, the - data in the response body shall have been transformed according to - the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL - 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a PM job. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type. If this - attribute is present, the cardinality of the - "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for - all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for - the specified measured object(s). This attribute’s - value shall contain the related "Measurement Name" - values as defined in clause 8.4 of ETSI GS NFV-IFA - 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 - of ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer - will inform the API consumer about availability of - the performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within - one reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can - be supported depends on the capability of the - producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer - will inform the API consumer about availability of - the performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within - one reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can - be supported depends on the capability of the - producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/pm_jobs/{pmJobId}': - parameters: - - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: | - The client can use this method for reading an individual PM job. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual PM job has - been read successfully. - - The response body shall contain a representation of the "Individual - PM job" resource, as defined in clause 6.6.2.7. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute - shall contain the identifier of the instance of the - measure object according to their type. See also - definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is - present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, measurements - will be taken for all sub-object instances of the - measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values - as defined in clause 8.4 of ETSI GS NFV-IFA 031. At - least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer - that it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two - attributes (performance metric or group) shall be - present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of - the collectionPeriod. In the latter case, the - performance data for the collection periods within one - reporting period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method terminates an individual PM job. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: | - 204 NO CONTENT - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/pm_jobs/{pmJobId}/reports/{reportId}': - parameters: - - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - - name: reportId - in: path - description: Identifier of the PM report - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The client can use this method for reading an individual performance - report. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information of an individual performance - report has been read successfully. - - The response body shall contain a representation of the "Individual - performance report" resource, as defined in clause 6.6.2.10. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type defines the format of a performance report provided - by the NFV-MANO functional entity to the API consumer as a - result of collecting performance information as part of a PM - job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance - report entry is for a given metric of a given object - (i.e. measured object instance) corresponding to the - related measured object types, but can include multiple - collected values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured - object type for a measurement is defined in clause - 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable - if attribute "manoEntityComponents" in - "ManoEntity" is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being - globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall - contain the related "Measurement Name" value as - defined in clause 8.4 of ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: > - List of performance values with associated - timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String - formatted according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of - this attribute shall correspond to the - related "Measurement Unit" as defined in - clause 8.4 of ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value - pairs. The order of the pairs in the list is - not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall - comply with the provisions defined in clause 4 - of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys - ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be - of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /thresholds: - post: - description: | - The POST method can be used by the client to create a threshold. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - Request parameters to create a threshold. - content: - application/json: - schema: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI GS - NFV-IFA 031 for the related measured object type. If this - attribute is absent and a sub-object is defined in clause - 8.2 of ETSI GS NFV-IFA 031 for the related measured object - type, thresholds will be set for all sub-object instances - of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left - for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when a threshold has been created successfully. - - The response body shall contain a representation of the created - "Individual threshold" resource, as defined in clause 6.6.2.9. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created "Individual threshold" - resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold types - is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: | - The client can use this method to query information about thresholds. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the Threshold and in data types - referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more thresholds - has been queried successfully. - - The response body shall contain in an array the representations of - zero or more thresholds, as defined in clause 6.6.2.9. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: '' - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - An identifier with the intention of being globally - unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold - types is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/thresholds/{thresholdId}': - parameters: - - name: thresholdId - in: path - description: Identifier of the PM threshold - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: | - The client can use this method for reading an individual threshold - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual threshold - has been read successfully. - - The response body shall contain a representation of the threshold, - as defined in clause 6.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI - GS NFV-IFA 031 for the related measured object type. If - this attribute is absent and a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, thresholds are set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in - clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which - other attributes are present in the data structure. - Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are - defined. The definition of additional threshold types - is left for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method allows to delete a threshold. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: | - 204 NO CONTENT - Shall be returned when the threshold has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: | - The POST method creates a new subscription. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management - events. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. - - A representation of the created subscription resource shall be - returned in the response body, as defined in clause 6.6.2.3. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the created "Individual subscription" - resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '303': - description: > - 303 SEE OTHER - - Shall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of the NFV-MANO - functional entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that - contains the resource URI of the existing "Individual subscription" - resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state - operation occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - The client can use this method to query the list of active - subscriptions to performance management notifications subscribed by the - client. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of - ETSI GS NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this - parameter as part of the URI query string. The API consumer may - supply this parameter. - - All attribute names that appear in the PmSubscription and in data - types referenced from it shall be supported by the NFV-MANO - functional entity in the expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of - all active subscriptions of the functional block that invokes the - method, i.e. zero or more representations of PM subscriptions as - defined in clause 6.6.2.3. - - If the "filter" URI parameter was supplied in the request, the data - in the response body shall have been transformed according to the - rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: | - This type represents a subscription. - type: object - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical - "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to - reference to NFV-MANO services in a filter. They - should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity - produced interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives - to reference to NFV-MANO functional entity - consumed interfaces in a filter. They should - not be used both in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '400': - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: > - The client can use this method for reading an individual subscription - about performance management notifications subscribed by the client. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the subscription has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 6.6.2.3. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to - subscribe for notifications related to performance - management events. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference - to NFV-MANO services in a filter. They should not - be used together in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used - both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted - values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: | - This method terminates an individual subscription. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - schemas: - PmSubscriptionRequest: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to - match (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between the values of - one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - PmSubscription: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to - match (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between the values of - one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference - to NFV-MANO functional entity produced interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference - to NFV-MANO functional entity consumed interfaces in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - CreatePmJobRequest: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which performance - information is requested to be collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of ETSI - GS NFV-IFA 031. If more than one identifier is provided, values - shall all refer to measured object instances of the same type, for - which the same criteria is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type. If this - attribute is present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined - list of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to - the API consumer about performance information. The unit shall - be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - PmJob: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which performance - information is collected. This attribute shall contain the - identifier of the instance of the measure object according to their - type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type. If this - attribute is present, the cardinality of the "objectInstanceIds" - attribute shall be 1. If this attribute is absent and a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related - measured object type, measurements will be taken for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined - list of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to - the API consumer about performance information. The unit shall - be seconds. - - At the end of each reportingPeriod, the producer will inform the - API consumer about availability of the performance data - collected for each completed collection period during this - reportingPeriod. The reportingPeriod should be equal to or a - multiple of the collectionPeriod. In the latter case, the - performance data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported depends on - the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object instances - for which performance information is collected. Shall be - present if the measured object instance information is - accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - CreateThresholdRequest: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, thresholds will be set for all - sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. - This attribute’s value shall contain the related "Measurement - Name" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - Threshold: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type for a - measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is absent and a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, thresholds are set for all sub-object - instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. - This attribute’s value shall contain the related "Measurement - Name" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - PerformanceReport: - description: > - This type defines the format of a performance report provided by the - NFV-MANO functional entity to the API consumer as a result of - collecting performance information as part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance report - entry is for a given metric of a given object (i.e. measured object - instance) corresponding to the related measured object types, but - can include multiple collected values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall contain the - related "Measurement Name" value as defined in clause 8.4 of - ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: | - List of performance values with associated timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of this - attribute shall correspond to the related "Measurement - Unit" as defined in clause 8.4 of ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - PmNotificationsFilter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. At a - particular nesting level in the filter structure, the following - applies: All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the values in - the array matches (logical "or" between the values of one filter - attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. - type: object - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" are - alternatives to reference to NFV-MANO services in a filter. - They should not be used together in the same filter instance, - but one alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to reference to - NFV-MANO functional entity produced interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to reference to - NFV-MANO functional entity consumed interfaces in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to - facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - PmJobCriteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the specified - measured object(s). This attribute’s value shall contain the - related "Measurement Name" values as defined in clause 8.4 of ETSI - GS NFV-IFA 031. At least one of the two attributes (performance - metric or group) shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a pre-defined list - of metrics, known to the producer that it can decompose to - individual metrics. This attribute’s value shall contain the - related "Measurement Group" values as defined in clause 8.4 of ETSI - GS NFV-IFA 031. At least one of the two attributes (performance - metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will inform the API - consumer about availability of the performance data collected for - each completed collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance data for the - collection periods within one reporting period are reported - together. - - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the - capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will report to the - API consumer about performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will inform the API - consumer about availability of the performance data collected for - each completed collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance data for the - collection periods within one reporting period are reported - together. - - In particular when choosing short collection and reporting periods, - the number of PM jobs that can be supported depends on the - capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - ThresholdCriteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the threshold. This - attribute’s value shall contain the related "Measurement Name" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other attributes - are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - responses: - pm_jobs.post.201: - description: > - 201 CREATED - - Shall be returned when the PM job has been created successfully. - - The response body shall contain a representation of the created - "Individual PM job" resource, as defined in clause 6.6.2.7. - - The HTTP response shall include a "Location" HTTP header that points to - the created "Individual PM job" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of - ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is collected. - Shall be present if the measured object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_jobs.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more PM jobs has been - queried successfully. - - The response body shall contain in an array the representations of zero - or more PM jobs, as defined in clause 6.6.2.7. - - If the "filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Link: - description: > - Reference to other resources. Link HTTP header in this response - shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL - 013. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure - object according to their type. See also definitions in - clause 8.2 of ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance for which performance information is - requested to be collected. May be present if a sub-object - is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type. If this attribute is present, - the cardinality of the "objectInstanceIds" attribute shall - be 1. If this attribute is absent and a sub-object is - defined in clause 8.2 of ETSI GS NFV-IFA 031 for the - related measured object type, measurements will be taken - for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This - attribute’s value shall contain the related - "Measurement Group" values as defined in clause 8.4 of - ETSI GS NFV-IFA 031. At least one of the two attributes - (performance metric or group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance - information. The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed - collection period during this reportingPeriod. The - reportingPeriod should be equal to or a multiple of the - collectionPeriod. In the latter case, the performance - data for the collection periods within one reporting - period are reported together. - - In particular when choosing short collection and - reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing - entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: > - Information about available reports collected by this PM - job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is - collected. Shall be present if the measured object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_jobs.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Invalid attribute selector. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - pm_job.get.200: - description: > - 200 OK - - Shall be returned when information about an individual PM job has been - read successfully. - - The response body shall contain a representation of the "Individual PM - job" resource, as defined in clause 6.6.2.7. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a PM job. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is collected. This attribute shall - contain the identifier of the instance of the measure object - according to their type. See also definitions in clause 8.2 of - ETSI GS NFV-IFA 031. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - reports: - description: | - Information about available reports collected by this PM job. - type: array - items: - type: object - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: | - Unsigned integer - type: number - required: - - href - - readyTime - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: > - Links to resources representing the measured object - instances for which performance information is collected. - Shall be present if the measured object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceIds - - criteria - - _links - pm_job.delete.204: - description: | - 204 NO CONTENT - Shall be returned when the PM job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - pm_job.report.get.200: - description: > - 200 OK - - Shall be returned when information of an individual performance report - has been read successfully. - - The response body shall contain a representation of the "Individual - performance report" resource, as defined in clause 6.6.2.10. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type defines the format of a performance report provided by - the NFV-MANO functional entity to the API consumer as a result of - collecting performance information as part of a PM job. - type: object - properties: - entries: - description: > - List of performance information entries. Each performance - report entry is for a given metric of a given object (i.e. - measured object instance) corresponding to the related - measured object types, but can include multiple collected - values. - type: array - items: - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object - type for a measurement is defined in clause 8.2 of ETSI - GS NFV-IFA 031. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - subObjectInstanceId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - performanceMetric: - description: > - Name of the metric collected. This attribute shall - contain the related "Measurement Name" value as defined - in clause 8.4 of ETSI GS NFV-IFA 031. - type: string - performanceValues: - description: | - List of performance values with associated timestamp. - type: array - items: - type: object - properties: - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - value: - description: > - Value of the metric collected. The type of this - attribute shall correspond to the related - "Measurement Unit" as defined in clause 8.4 of - ETSI GS NFV-IFA 031. - context: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - required: - - timeStamp - - value - minItems: 1 - required: - - objectType - - objectInstanceId - - performanceMetric - - performanceValues - minItems: 1 - required: - - entries - thresholds.post.201: - description: > - 201 CREATED - - Shall be returned when a threshold has been created successfully. - - The response body shall contain a representation of the created - "Individual threshold" resource, as defined in clause 6.6.2.9. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the created "Individual threshold" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds are set - for all sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - thresholds.get.200: - description: > - 200 OK - - Shall be returned when information about zero or more thresholds has - been queried successfully. - - The response body shall contain in an array the representations of zero - or more thresholds, as defined in clause 6.6.2.9. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS - NFV-IFA 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured - object instance associated with this threshold. May be - present if a sub-object is defined in clause 8.2 of ETSI GS - NFV-IFA 031 for the related measured object type. If this - attribute is absent and a sub-object is defined in clause - 8.2 of ETSI GS NFV-IFA 031 for the related measured object - type, thresholds are set for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left - for future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - thresholds.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - threshold.get.200: - description: > - 200 OK - - Shall be returned when information about an individual threshold has - been read successfully. - - The response body shall contain a representation of the threshold, as - defined in clause 6.6.2.9. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: '' - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectType: - description: >- - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds are set - for all sub-object instances of the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - _links: - description: | - Links for this resource. - type: object - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - object: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - self - required: - - id - - objectType - - objectInstanceId - - subjObjectInstanceIds - - criteria - - _links - threshold.delete.204: - description: | - 204 NO CONTENT - Shall be returned when the threshold has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - - A representation of the created subscription resource shall be returned - in the response body, as defined in clause 6.6.2.3. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the created "Individual subscription" resource. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscriptions.post.303: - description: > - 303 SEE OTHER - - Shall be returned when a subscription with the same callbackURI and the - same filter already exists and the policy of the NFV-MANO functional - entity is to not create redundant subscriptions. - - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing "Individual subscription" resource. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The resource URI of the created "Individual change state operation - occurence" resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - subscriptions.get.200: - description: > - Shall be returned when the list of subscriptions has been queried - successfully. - - The response body shall contain in an array the representations of all - active subscriptions of the functional block that invokes the method, - i.e. zero or more representations of PM subscriptions as defined in - clause 6.6.2.3. - - If the "filter" URI parameter was supplied in the request, the data in - the response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management - events. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and - "manoServiceNames" are alternatives to reference to - NFV-MANO services in a filter. They should not be - used together in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" - attribute are spelled exactly as the names of the - notification types to facilitate automated code - generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscriptions.get.400: - description: | - 400 BAD REQUEST - Shall be returned upon the following errors: - - Invalid attribute-based filtering expression. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the error. - - Response too big. - If the NFV-MANO functional entity supports alternative N°1 (error) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - this error response shall follow the provisions in clause 5.4.2.2 of - ETSI GS NFV-SOL 013. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - subscription.get.200: - description: > - 200 OK - - Shall be returned when the subscription has been read successfully. - - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 6.6.2.3. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: | - This type represents a subscription. - type: object - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: object - properties: - links: - description: | - String formatted according to IETF RFC 3986. - type: string - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - links - - self - required: - - id - - callbackUri - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. - - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - parameters: - filter.PmJob: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PmJob and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - filter.Threshold: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the Threshold and in data types - referenced from it shall be supported by the NFV-MANO functional entity - in the expression. - in: query - required: false - schema: - type: string - filter.PmSubscription: - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI GS - NFV-SOL 013. - - The NFV-MANO functional entity shall support receiving this parameter - as part of the URI query string. The API consumer may supply this - parameter. - - All attribute names that appear in the PmSubscription and in data - types referenced from it shall be supported by the NFV-MANO functional - entity in the expression. - in: query - required: false - schema: - type: string - exclude_default.PmJob: - name: exclude_default - description: > - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - - The following attributes shall be excluded from the PmJob structure in - the response body if this parameter is provided, or none of the - parameters "all_fields," "fields", "exclude_fields", "exclude_default" - are provided: - none - in: query - required: false - schema: - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - pmJobId: - name: pmJobId - in: path - description: Identifier of the PM Job - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - reportId: - name: reportId - in: path - description: Identifier of the PM report - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - thresholdId: - name: thresholdId - in: path - description: Identifier of the PM threshold - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - CreatePMJobRequest: - description: | - PM job creation request. - content: - application/json: - schema: - description: | - This type represents a request to create a PM job. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceIds: - description: > - Identifiers of the measured object instance for which - performance information is requested to be collected. This - attribute shall contain the identifier of the instance of the - measure object according to their type. See also definitions - in clause 8.2 of ETSI GS NFV-IFA 031. If more than one - identifier is provided, values shall all refer to measured - object instances of the same type, for which the same criteria - is then applicable. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - minItems: 1 - subObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance for which performance information is requested to be - collected. May be present if a sub-object is defined in - clause 8.2 of ETSI GS NFV-IFA 031 for the related measured - object type. If this attribute is present, the cardinality of - the "objectInstanceIds" attribute shall be 1. If this - attribute is absent and a sub-object is defined in clause 8.2 - of ETSI GS NFV-IFA 031 for the related measured object type, - measurements will be taken for all sub-object instances of - the measured object instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents collection criteria for PM jobs. - type: object - properties: - performanceMetric: - description: > - This defines the types of performance metrics for the - specified measured object(s). This attribute’s value - shall contain the related "Measurement Name" values as - defined in clause 8.4 of ETSI GS NFV-IFA 031. At least - one of the two attributes (performance metric or group) - shall be present. - type: array - items: - type: string - performanceMetricGroup: - description: > - Group of performance metrics. A metric group is a - pre-defined list of metrics, known to the producer that - it can decompose to individual metrics. This attribute’s - value shall contain the related "Measurement Group" - values as defined in clause 8.4 of ETSI GS NFV-IFA 031. - At least one of the two attributes (performance metric or - group) shall be present. - type: array - items: - type: string - collectionPeriod: - description: > - Specifies the periodicity at which the producer will - collect performance information. The unit shall be - seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingPeriod: - description: > - Specifies the periodicity at which the producer will - report to the API consumer about performance information. - The unit shall be seconds. - - At the end of each reportingPeriod, the producer will - inform the API consumer about availability of the - performance data collected for each completed collection - period during this reportingPeriod. The reportingPeriod - should be equal to or a multiple of the collectionPeriod. - In the latter case, the performance data for the - collection periods within one reporting period are - reported together. - - In particular when choosing short collection and reporting - periods, the number of PM jobs that can be supported - depends on the capability of the producing entity. - type: integer - reportingBoundary: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - required: - - collectionPeriod - - reportingPeriod - required: - - objectType - - objectInstanceIds - - criteria - required: true - CreateThesholdRequest: - description: | - Request parameters to create a threshold. - content: - application/json: - schema: - description: | - This type represents a request to create a threshold. - type: object - properties: - objectType: - description: > - Type of measured object. The applicable measured object type - for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA - 031. - type: string - objectInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - subjObjectInstanceIds: - description: > - Identifiers of the sub-object instances of the measured object - instance associated with this threshold. May be present if a - sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for - the related measured object type. If this attribute is absent - and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA - 031 for the related measured object type, thresholds will be - set for all sub-object instances of the measured object - instance. - type: array - items: - description: > - An identifier that is unique for the respective type within - a NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - criteria: - description: | - This type represents criteria that define a threshold. - type: object - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold. This attribute’s value shall contain the - related "Measurement Name" values as defined in clause - 8.4 of ETSI GS NFV-IFA 031 - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other - attributes are present in the data structure. Permitted - values: - - SIMPLE: Single-valued static threshold - - In the present document, simple thresholds are defined. - The definition of additional threshold types is left for - future specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - properties: - thresholdValue: - description: | - A number defined in IETF RFC 8259. - type: number - hysteresis: - description: | - A number defined in IETF RFC 8259. - type: number - required: - - thresholdValue - - hysteresis - required: - - performanceMetric - - thresholdType - required: - - objectType - - objectInstanceId - - criteria - required: true - CreateSubscriptionRequest: - description: | - Details of the subscription to be created. - content: - application/json: - schema: - description: | - This type represents a subscription request. - type: object - properties: - filter: - description: > - This type represents a filter that can be used to subscribe - for notifications related to performance management events. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - pmSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. - type: object - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: > - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - - The attributes "manoServiceIds" and "manoServiceNames" - are alternatives to reference to NFV-MANO services in - a filter. They should not be used together in the - same filter instance, but one alternative should be - chosen. - type: array - items: - type: string - manoServiceInterfaceIds: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: > - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - - The attributes "manoServiceInterfaceIds" and - "manoServiceInterfaceNames" are alternatives to - reference to NFV-MANO functional entity produced - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - consumedManoInterfaceIds: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: > - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - - The attributes "consumedManoInterfaceIds" and - "consumedManoInterfaceNames" are alternatives to - reference to NFV-MANO functional entity consumed - interfaces in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - - The permitted values of the "notificationTypes" attribute - are spelled exactly as the names of the notification - types to facilitate automated code generation systems. - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: - - callbackUri - required: true - -- GitLab From c639f23bc62396f0ad6874150bb240759286577a Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:16:32 +0500 Subject: [PATCH 172/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 887bff0d9..1a2939584 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -5,17 +5,17 @@ ${NFVMANO_SCHEMA} https ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken -#${WRONG_AUTHORIZATION_TOKEN} Bearer XXXXXWRONGXXXXX + ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${CONTENT_TYPE_PATCH} application/merge-patch+json ${AUTH_USAGE} 1 -#${FIELD_USAGE} 1 + ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + ${apiRoot} / ${apiMajorVersion} v2 @@ -41,8 +41,8 @@ ${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 3d57e5fec4f5b62d73f5921bb9e812d230fcbe28 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 13 Oct 2021 17:14:15 +0500 Subject: [PATCH 173/211] update schema files --- ...formationAvailableNotification.schema.json | 184 +++++++------- .../schemas/PerformanceReport.schema.json | 158 ++++++------ .../schemas/PmJob.schema.json | 41 ++-- .../schemas/PmJobs.schema.json | 225 +++++++++--------- .../schemas/ProblemDetails.schema.json | 30 ++- .../schemas/Threshold.schema.json | 203 ++++++++-------- .../ThresholdCrossedNotification.schema.json | 202 ++++++++-------- .../schemas/Thresholds.schema.json | 41 ++-- 8 files changed, 554 insertions(+), 530 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json index 04ae7ead4..6e2e33f34 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json @@ -1,105 +1,93 @@ { - "description": "This notification informs the receiver that performance information is available. The timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition. The notification shall be triggered by the VNFM when new performance information collected by a PM job is available.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"PerformanceInformationAvailableNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "PerformanceInformationAvailableNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "pmJob", - "performanceReport" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This notification informs the receiver that performance information is available.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "pmJobId", + "timeStamp", + "objectType", + "objectInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "pmJobId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pmJob": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "pmJob": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "performanceReport": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "PerformanceReport": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } - } + }, + "required": [ + "pmJob", + "performanceReport" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json index 9ca35fcfa..e9b74725f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json @@ -1,92 +1,92 @@ { - "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", - "type": "object", - "properties": { - "entries": { - "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" + "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", + "type": "object", + "required": [ + "entries" + ], + "properties": { + "entries": { + "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "required": [ + "type", + "objectId" + ] + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "performanceMetric": { + "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "performanceValues": { + "description": "List of performance values with associated timestamp.\n", + "type": "array", + "items": { "type": "object", "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] + "format": "date-time" }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "value": { + "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "context": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" } }, "required": [ - "type", - "objectId" + "timeStamp", + "value" ] }, - "subObjectInstanceId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - }, - "performanceMetric": { - "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "performanceValues": { - "description": "List of performance values with associated timestamp.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" - }, - "context": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - } - }, - "required": [ - "timeStamp", - "value" - ] - }, - "minItems": 1 - } - }, - "required": [ - "objectType", - "objectInstanceId", - "performanceMetric", - "performanceValues" - ] + "minItems": 1 + } }, - "minItems": 1 - } - }, - "required": [ - "entries" - ] - } \ No newline at end of file + "required": [ + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValues" + ] + }, + "minItems": 1 + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json index 7b4833902..72c55e647 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json @@ -1,6 +1,14 @@ { "description": "This type represents a PM job. \n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -28,29 +36,33 @@ } }, "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingBoundary": { @@ -58,11 +70,11 @@ "type": "string", "format": "date-time" } - }, - "required": [ - "collectionPeriod", - "reportingPeriod" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "reports": { "description": "Information about available reports collected by this PM job.\n", @@ -134,12 +146,5 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json index 95ada1a02..e6103b6a2 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json @@ -1,123 +1,119 @@ { "type": "array", "items": { - "description": "This type represents a PM job. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "array", - "items": { + "description": "This type represents a PM job. \n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "minItems": 1 - }, - "subObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" + }, + "objectInstanceIds": { + "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "minItems": 1 + }, + "subObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } }, - "required": [ - "collectionPeriod", - "reportingPeriod" - ] - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "array", - "items": { + "criteria": { + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "performanceMetric": { + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "performanceMetricGroup": { + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "collectionPeriod": { + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" + }, + "reportingPeriod": { + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" }, - "expiryTime": { + "reportingBoundary": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" - }, - "fileSize": { - "description": "Unsigned integer\n", - "type": "number" } - }, - "required": [ - "href", - "readyTime" - ] - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "reports": { + "description": "Information about available reports collected by this PM job.\n", + "type": "array", + "items": { "type": "object", - "required": [ - "href" - ], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "Unsigned integer\n", + "type": "number" } - } - }, - "objects": { - "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", - "type": "array", - "items": { + }, + "required": [ + "href", + "readyTime" + ] + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "properties": { + "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", "required": [ @@ -129,20 +125,29 @@ "type": "string" } } + }, + "objects": { + "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } } - } - }, - "required": [ - "self" - ] + }, + "required": [ + "self" + ] + } } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] -} + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json index 2af3ef9b3..bd236d731 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json @@ -1 +1,29 @@ -{ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", "format": "URI" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string", "format": "URI" } }} \ No newline at end of file +{ + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": ["status", "detail"], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } +} diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json index 024546173..bf9ced033 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json @@ -1,108 +1,113 @@ { - "description": "", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "This type represents a threshold.\n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subjObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" - }, - "subjObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + } + }, + "criteria": { + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", + "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], + "properties": { + "performanceMetric": { + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" - } - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "properties": { - "thresholdValue": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - }, - "hysteresis": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - } - }, - "required": [ - "thresholdValue", - "hysteresis" - ] - } }, - "required": [ - "performanceMetric", - "thresholdType" - ] - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "thresholdType": { + "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", + "type": "string", + "enum": [ + "SIMPLE" + ] + }, + "simpleThresholdDetails": { + "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", + "type": "object", + "properties": { + "thresholdValue": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" + }, + "hysteresis": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" } }, - "object": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "required": [ + "thresholdValue", + "hysteresis" + ] + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, - "required": [ - "self" - ] - } - }, - "required": [ - "id", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] - } \ No newline at end of file + "object": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json index e5cec2303..baa0ae1b4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json @@ -1,113 +1,101 @@ { - "description": "This type represents a notification that is sent when a threshold has been crossed. The notification shall be triggered by the VNFM when a threshold has been crossed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "thresholdId", - "crossingDirection", - "objectInstanceId", - "performanceMetric", - "performanceValue", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ThresholdCrossedNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "thresholdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "crossingDirection": { - "type": "string", - "enum": [ - "UP", - "DOWN" - ] - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric associated with the threshold.\n", - "type": "string" - }, - "performanceValue": { - "description": "Value of the metric that resulted in threshold crossing. The type of the \"performanceValue\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "threshold" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This type represents a notification that is sent when a threshold has been crossed.\nNOTE:\tThe timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition.\nThe notification shall be triggered by the NFV-MANO functional entity when a threshold has been crossed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "timeStamp", + "thresholdId", + "crossingDirection", + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValue", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "thresholdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "crossingDirection": { + "description": "CrossingDirectionType enumeration. Permited values:\n - UP: The threshold was crossed in upward direction.\n - DOWN : The threshold was crossed in downward direction.\n", + "type": "string", + "enum": [ + "UP", + "DOWN" + ] + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "performanceMetric": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "performanceValue": { + "description": "Value of the metric that resulted in threshold crossing. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" + }, + "context": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "threshold": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "threshold": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } - } + }, + "required": [ + "objectInstance" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json index 4b1ce8981..79d8f7c85 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json @@ -1,15 +1,24 @@ { "type": "array", "items": { - "description": "", + "description": "This type represents a threshold.\n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" }, "objectInstanceId": { @@ -25,11 +34,15 @@ } }, "criteria": { - "description": "This type represents criteria that define a threshold.\n", + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], "properties": { "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" }, "thresholdType": { @@ -57,11 +70,11 @@ "hysteresis" ] } - }, - "required": [ - "performanceMetric", - "thresholdType" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "_links": { "description": "Links for this resource.\n", @@ -98,14 +111,6 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] + } } } \ No newline at end of file -- GitLab From 20bc7a9eb95fca095d15ab4baa3395776011e71b Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 12:18:23 +0500 Subject: [PATCH 174/211] update doc version to 3.5.1 and modify POST on PMJob resource --- .../SOL009-NFVMANOLogManagement-API.yaml | 25442 ---------------- .../IndividualPmJob.robot | 14 +- .../IndividualReport.robot | 12 +- .../IndividualSubscription.robot | 14 +- .../IndividualThreshold.robot | 14 +- .../NotificationEndpoint.robot | 4 +- .../Notifications.robot | 4 +- .../PMJobs.robot | 83 +- .../Subscriptions.robot | 24 +- .../Thresholds.robot | 18 +- .../environment/variables.txt | 1 + 11 files changed, 116 insertions(+), 25514 deletions(-) delete mode 100644 SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml diff --git a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml b/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml deleted file mode 100644 index 481efd043..000000000 --- a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml +++ /dev/null @@ -1,25442 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Log Management interface - description: > - SOL009 - NFV-MANO Log Management interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification - it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -security: - - OauthSecurity: - - all -servers: - - url: 'http://127.0.0.1/nfvmanologm/v1' - - url: 'https://127.0.0.1/nfvmanologm/v1' -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /log_jobs: - description: >- - This resource represents logging jobs. The API consumer can use this - resource to create and query logging jobs. - post: - description: >- - The POST method creates a logging job. This method shall follow the - provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI - query parameters, request and response data structures, and response - codes. As the result of successfully executing this method, a new - "Individual logging job" resource as defined in clause 9.5.4 shall have - been created. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: >- - This type represents a request to create a logging job. It shall - comply with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute - shall contain the identifier of the instance of the object - to be logged according to their type. If more than one - identifier is provided, values shall all refer to object - instances of the same type, for which the same criteria is - then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - required: true - responses: - '201': - description: >- - The response body contains the Application Context as it was created - by the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: >- - The API consumer can use this method to retrieve information about - logging jobs. This method shall follow the provisions specified in the - tables 8.5.3.3.2-1 and 8.5.3.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: all_fields - description: > - Include all complex attributes in the response. See clause 5.3 of - ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support - this parameter. - in: query - required: false - schema: - type: string - - name: fields - description: > - Complex attributes to be included into the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_fields - description: > - Complex attributes to be excluded from the response. See clause 5.3 - of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity - should support this parameter. - in: query - required: false - schema: - type: string - - name: exclude_default - in: query - description: >- - Indicates to exclude the following complex attributes from the - response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The - NFV-MANO functional entity shall support this parameter. - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information about zero or more logging jobs - has been queried successfully. - - The response body shall contain in an array the representations of - zero or more logging jobs, as defined in clause 8.6.2.6. - - If the "filter" URI parameter or one of the "all_fields", "fields" - (if supported), "exclude_fields" (if supported) or "exclude_default" - URI parameters was supplied in the request, the data in the response - body shall have been transformed according to the rules specified in - clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain - the identifier of the instance of the object that is - logged according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" - is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging - jobs. It shall comply with the provisions defined in - table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO - service interface messages. - SERVICES: logged - messages about processes pertaining to NFV-MANO - services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the - provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to - match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than - one "matchingPattern" if combinations of - patterns are to be considered to match diverse - sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to - four hexadecimal digits, separated by - colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To - match, the HTTP request method of the - message shall be the same as the value of - this attribute. Valid values are specified - in IETF RFC 7231. The API producer shall - support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request - URI. To match, the request URI shall - include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to - four hexadecimal digits, separated by - colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. - A list of all valid HTTP response codes - and their specification documents can be - obtained from the HTTP status code - registry. In addition, if supported, the - following patterns may be used - (case-insensitive): - "1XX": for matching - any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for - matching any kind of client error - response. - "5XX": for matching any kind - of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. - The header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To - match, the value in the header field - indicated by "headerField" shall be the - same as in this attribute. Shall be - provided if a "headerField" is provided. - The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the - body part of the interface message (e.g., - the body of an HTTP message). If provided, - only messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the - message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining - to NFV-MANO services. It shall comply with the - provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with - the provisions defined in clause 4 of IETF RFC - 8259. In the following example, a list of - key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided - to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to - signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the - severity of the system messages to collect. The - NFV-MANO functional entity shall collect system - log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by - this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging - job. It shall comply with the provisions defined in - table 8.6.3.6-1. NOTE: The present document version does - not specify the support for "log compilation and - reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer - will report to the consumer about the compiled log - data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: - the producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know - about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected - log data. If not present, a default value as - specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" - shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More - than one algorithm can be provided from - higher (lower array index) to lower (higher - array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause - 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid - values are: "encryptFirst", to apply the - order "first encrypt, then sign", and - "signFirst" for the order "first sign, then - encrypt". Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API - producer by other means, or if it has - already been provided in some previous - CreateLoggingJobRequest issued by the same - API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged - object instance information is accessible as a - resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}': - description: >- - This resource represents an individual logging job. The API consumer can - use this resource to delete and read the underlying logging job. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual logging - job. This method shall follow the provisions specified in the tables - 8.5.4.3.2-1 and 8.5.4.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information about an individual logging job - has been read successfully. The response body shall contain a - representation of the "Individual logging job" resource, as defined - in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that - consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. - In case of an IPV6 address, string that - consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of keyvalue pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. - In the following example, a list of key-value - pairs with four keys ("aString", "aNumber", - "anArray" and "anObject") is provided to - illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: >- - This method terminates an individual logging job. This method shall - follow the provisions specified in the tables 8.5.4.3.5-1 and - 8.5.4.3.5-2 for URI query parameters, request and response data - structures, and response codes. As the result of successfully executing - this method, the "Individual logging job" resource shall not exist any - longer - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned when the logging job has been deleted - successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}/log_reports/{logReportId}': - description: "This resource represents an individual log report. The API consumer can use this resource to read information about a log report. The log report provides metadata information about a log and location information of the log file from where it can be obtained. NOTE:\tThe present document does not specify the mechanism how to retrieve the log files." - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - - name: logReportId - in: path - description: Identifier of the report. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual log - report. This method shall follow the provisions specified in the tables - 8.5.5.3.2-1 and 8.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when information of an individual log report has - been read successfully. The response body shall contain a - representation of the "Individual log report" resource, as defined - in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '202': - description: >- - Shall be returned if the creation of the log report is ongoing and - no log report is available yet (applicable in asynchronous mode of - the "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/log_jobs/{logJobId}/compile_log': - description: >- - This resource represents the "Compile log" operation. The API consumer can - use this resource to request compiling the logged data, collected via a - logging job, into a file and creating the associated log report. As the - result of successfully processing this request, a new "Individual log - report" resource shall be created. Two modes of operation, synchronous or - asynchronous, can take place depending on whether the NFV-MANO functional - entity can compile the log data and create the log report immediately. In - the synchronous case, which is indicated by responding with "201 Created", - the resource shall be created before the "201 Created" response is - returned. In the asynchronous case, which is indicated by responding with - "202 Accepted", the resource may be created after the response is - returned. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: >- - The POST method requests to compile the logged data into a file and - create an associated log report. This method shall follow the provisions - specified in the tables 8.5.6.3.1-1 and 8.5.6.3.1-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - required: true - responses: - '200': - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The - response body shall contain a representation of the log report - resource, as defined in clause 8.6.2.7. The HTTP response shall - include a "Location" HTTP header that indicate the URI of the - "Individual log report" resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '202': - description: >- - Shall be returned when the request has been accepted for processing, - and it is expected to take some time to compile the log file and - create the associated log report (asynchronous mode). The response - body shall be empty. The HTTP response shall include a "Location" - HTTP header that indicates the URI of the "Individual log report" - resource that will be created once the log file compilation is - completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - schema: - type: string - '303': - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log - report resource just created, or to be created by the ongoing - compilation and report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be - created by the ongoing compilation and report creation - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: >- - The general cause for this error and its handling is specified in - clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence - of the response body. Specifically, in case of this task resource, - the response code 422 shall also be returned if the - "objectInstanceId" value provided in the payload body of the request - does not correspond to an object instance for which log data is - being collected by the logging job represented by this resource. The - response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - description: >- - This resource represents subscriptions. The client can use this resource - to subscribe to notifications related to NFV-MANO performance management - and to query its subscriptions. - post: - description: >- - The POST method creates a new subscription. This method shall follow the - provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI - query - parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 8.5.8 shall have been - created. This method shall not trigger any notification. Creation of two - "Individual subscription" resources with the same callbackURI and the - same filter can result in performance degradation and will provide - duplicates of notifications to the API consumer, and might make sense - only in very rare use cases. Consequently, the NFV-MANO functional - entity may either allow creating a new "Individual subscription" - resource if another "Individual subscription" resource with the same - filter and callbackUri already exists (in which case it shall return the - "201 Created" response code), or may decide to not create a duplicate - "Individual subscription" resource (in which case it shall return a "303 - See Other" response code referencing the existing "Individual - subscription" resource with the same filter and callbackUri). - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Details of the subscription to be created - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system - type: object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '201': - description: >- - Shall be returned when the subscription has been created - successfully. A representation of the created "Individual - subscription" resource shall be returned in the response body, as - defined in clause 8.6.2.3. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the created - "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '303': - description: >- - Shall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of the NFV-MANO - functional entity is to not create redundant subscriptions. The HTTP - response shall include a "Location" HTTP header that contains the - resource URI of the existing "Individual subscription" resource. The - response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log - management event from the API producer to the API consumer. The - API consumer shall have previously created an "Individual - subscription" resource with a matching filter. This method shall - follow the provisions specified in the tables 8.5.9.3.1-1 and - 8.5.9.3.1-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log - report of the NFV-MANO functional entity is available. - It shall comply with the provisions defined in table - 8.6.2.4-1. The notification shall be triggered by the - NFV-MANO functional entity when log information has been - collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable - if attribute "manoEntityComponents" in - "ManoEntity" is supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being - globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging - job compilation and the logging information - availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative - URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, - the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. - if the request URI contains incorrect query parameters or - the payload body contains a syntactically incorrect data - structure), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does - not support paging for the affected resource, it shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the - "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of - the error shall be returned in the WWW Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization - of API requests and notifications, as defined in clauses - 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token - that is invalid (e.g. expired or revoked), the API producer - should respond with this response. The details of the error - shall be returned in the WWW-Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided. It should include in the - "detail" attribute information about the source of the - problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation - for the resource addressed by the URI passed in the request - or is not willing to disclose that one exists, it shall - respond with this response code. The "ProblemDetails" - structure may be provided, including in the "detail" - attribute information about the source of the problem, e.g. - a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is - designed to contain child resources, but does not contain - any child resource at the time the request is received. For - a GET request to an existing empty container resource, a - typical response contains a 200 OK response code and a - payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a - particular resource, the API producer shall respond with - this response code. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one - name of a content type that is acceptable to the API - producer, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically - correct data (e.g. well-formed JSON) but the data cannot be - processed (e.g. because it fails validation against a - schema), the API producer shall respond with this response - code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information - about the source of the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload - situation of itself or of a system it relies on, it should - respond with this response code, following the provisions in - IETF RFC 7231 for the use of the "Retry-After" HTTP header - and for the alternative to refuse the connection. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it - should respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified - in the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. - Reference: IETF RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned to indicate that the notification endpoint - has been tested successfully. The response body shall be - empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, - the specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. - if the request URI contains incorrect query parameters or - the payload body contains a syntactically incorrect data - structure), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does - not support paging for the affected resource, it shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the - "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of - the error shall be returned in the WWW Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization - of API requests and notifications, as defined in clauses - 4.5.3.3 and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token - that is invalid (e.g. expired or revoked), the API producer - should respond with this response. The details of the error - shall be returned in the WWW-Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided. It should include in the - "detail" attribute information about the source of the - problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation - for the resource addressed by the URI passed in the request - or is not willing to disclose that one exists, it shall - respond with this response code. The "ProblemDetails" - structure may be provided, including in the "detail" - attribute information about the source of the problem, e.g. - a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is - designed to contain child resources, but does not contain - any child resource at the time the request is received. For - a GET request to an existing empty container resource, a - typical response contains a 200 OK response code and a - payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a - particular resource, the API producer shall respond with - this response code. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one - name of a content type that is acceptable to the API - producer, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically - correct data (e.g. well-formed JSON) but the data cannot be - processed (e.g. because it fails validation against a - schema), the API producer shall respond with this response - code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information - about the source of the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP - response code ("catch all error"), the API producer shall - respond with this response code. The "ProblemDetails" - structure shall be provided, and shall include in the - "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload - situation of itself or of a system it relies on, it should - respond with this response code, following the provisions in - IETF RFC 7231 for the use of the "Retry-After" HTTP header - and for the alternative to refuse the connection. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it - should respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined - in IETF RFC 7807 [19], the "status" and "detail" - attributes are mandated to be included by the present - document, to ensure that the response contains - additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular - APIs in the present document, or particular - implementations, define extensions to define - additional attributes that provide more information - about the error. The description column only provides - some explanation of the meaning to Facilitate - understanding of the design. For a full description, - see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] - that identifies the problem type. It is encouraged - that the URI provides human-readable documentation - for the problem (e.g. using HTML) when - dereferenced. When this member is not present, its - value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem - type. It should not change from occurrence to - occurrence of the problem, except for purposes of - localization. If type is given and other than - "about:blank", this attribute shall also be - provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from - occurrence to occurrence of the problem, except - for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section - 6) generated by the origin server for this - occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The API consumer can use this method to query the list of active - subscriptions to log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.7.3.2-1 and 8.5.7.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block - that invokes the method, i.e. zero or more representations of log - management subscriptions as defined in clause 8.6.2.3. If the - "filter" URI parameter was supplied in the request, the data in the - response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO - functional entity supports alternative 2 (paging) according to - clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion - of the Link HTTP header in this response shall follow the provisions - in clause 5.4.2.3 of ETSI GS NFV-SOL 013 . - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with - the provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical - "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the - respective type within a NFV-MANO functional - entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted - values: - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - description: >- - This resource represents an individual subscription for notifications - about log management related events. The API consumer can use this - resource to read and to terminate a subscription to notifications related - o NFV-MANO log management. - parameters: - - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual - subscription about log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.8.3.2-1 and 8.5.8.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: >- - Shall be returned when the subscription has been read successfully. - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an - NFV-MANO service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but - that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being - globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed - in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: "This method terminates an individual subscription. This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion." - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned when the "Individual subscription" resource has - been deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - parameters: - logJobId: - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - logReportId: - name: logReportId - in: path - description: Identifier of the report. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - subscriptionId: - name: subscriptionId - in: path - description: Identifier of the subscription - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - requestBodies: - LogmSubscriptionRequest: - description: Details of the subscription to be created - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - CreateLoggingJobRequest: - description: >- - This type represents a request to create a logging job. It shall comply - with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute shall - contain the identifier of the instance of the object to be - logged according to their type. If more than one identifier is - provided, values shall all refer to object instances of the - same type, for which the same criteria is then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - required: true - CompileLogRequest: - description: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - required: true - LogReportAvailableNotification: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information - has been collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be - set to "LogReportAvailableNotification" for this notification - type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. - Due to the relationship of the logging job compilation and - the logging information availability reporting, more than - one logReport notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - subscription.delete.204: - description: >- - Shall be returned when the "Individual subscription" resource has been - deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - subscription.get.200: - description: >- - Shall be returned when the subscription has been read successfully. The - response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.get.200: - description: >- - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block that - invokes the method, i.e. zero or more representations of log management - subscriptions as defined in clause 8.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause - 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL - 013 for this resource, inclusion of the Link HTTP header in this - response shall follow the provisions in clause 5.4.2.3 of ETSI GS - NFV-SOL 013 . - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective - type within a NFV-MANO functional entity, but that - need not be globally unique. Representation: - string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance Name listed in - this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.post.201: - description: >- - Shall be returned when the subscription has been created successfully. A - representation of the created "Individual subscription" resource shall - be returned in the response body, as defined in clause 8.6.2.3. The HTTP - response shall include a "Location" HTTP header that contains the - resource URI of the created "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO - service name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this - attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.post.303: - description: >- - Shall be returned when a subscription with the same callbackURI and the - same filter already exists and the policy of the NFV-MANO functional - entity is to not create redundant subscriptions. The HTTP response shall - include a "Location" HTTP header that contains the resource URI of the - existing "Individual subscription" resource. The response body shall be - empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - LogReportCompiled.Post.200: - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The response - body shall contain a representation of the log report resource, as - defined in clause 8.6.2.7. The HTTP response shall include a "Location" - HTTP header that indicate the URI of the "Individual log report" - resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReportCompiled.Post.202: - description: >- - Shall be returned when the request has been accepted for processing, and - it is expected to take some time to compile the log file and create the - associated log report (asynchronous mode). The response body shall be - empty. The HTTP response shall include a "Location" HTTP header that - indicates the URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be created - once the log file compilation is completed. - schema: - type: string - LogReportCompiled.Post.303: - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log report - resource just created, or to be created by the ongoing compilation and - report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be created by - the ongoing compilation and report creation - schema: - type: string - LogReportCompiled.Post.422: - description: >- - The general cause for this error and its handling is specified in clause - 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the - response body. Specifically, in case of this task resource, the response - code 422 shall also be returned if the "objectInstanceId" value provided - in the payload body of the request does not correspond to an object - instance for which log data is being collected by the logging job - represented by this resource. The response body shall contain a - ProblemDetails structure, in which the "detail" attribute should convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - LogReport.Get.200: - description: >- - Shall be returned when information of an individual log report has been - read successfully. The response body shall contain a representation of - the "Individual log report" resource, as defined in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReport.Get.202: - description: >- - Shall be returned if the creation of the log report is ongoing and no - log report is available yet (applicable in asynchronous mode of the - "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LoggingJob.Get: - description: >- - Shall be returned when information about an individual logging job has - been read successfully. The response body shall contain a representation - of the "Individual logging job" resource, as defined in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob.Delete: - description: >- - Shall be returned when the logging job has been deleted successfully. - The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: Version of the API used in the response. - schema: - type: string - LoggingJob.Post: - description: >- - The response body contains the Application Context as it was created by - the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of keyvalue pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 8259. In the following example, a - list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different - keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJobs.Get: - description: >- - Shall be returned when information about zero or more logging jobs has - been queried successfully. - - The response body shall contain in an array the representations of zero - or more logging jobs, as defined in clause 8.6.2.6. - - If the "filter" URI parameter or one of the "all_fields", "fields" (if - supported), "exclude_fields" (if supported) or "exclude_default" URI - parameters was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clauses - 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively. - - If the NFV-MANO functional entity supports alternative 2 (paging) - according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, - inclusion of the Link HTTP header in this response shall follow the - provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In - case of an IPV4 address, string that consists - of four decimal integers separated by dots, - each integer ranging from 0 to 255. In case of - an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of keyvalue pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with - four keys ("aString", "aNumber", "anArray" and - "anObject") is provided to illustrate that the - values associated with different keys can be of - different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogReportAvailableNotification.Post: - description: Shall be returned when the notification has been delivered successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LogReportNotification.Get: - description: >- - Shall be returned to indicate that the notification endpoint has been - tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - schemas: - LogmSubscription: - description: >- - This type represents a subscription. It shall comply with the provisions - defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogmNotificationsFilter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with the - provisions defined in table 8.6.3.7-1. At a particular nesting level in - the filter structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - ManoEntitySubscriptionFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service name - listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally unique. - Representation: string of variable length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance Name listed in this attribute. - type: array - items: - type: string - CompileLogRequest: - description: > - This type represents a request to compile the logged data associated to - an object instance. It shall comply with the provisions defined in table - 8.6.2.8-1. - type: object - properties: - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - LogReport: - description: > - This type represents a log report, which provides information about a - compiled log and how to obtain it. It shall comply with the provisions - defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit request by - a client. - AUTOMATIC: created according to the logging job - compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer protocol - (SFTP). - SCP: transmission over secure copy protocol (SCP). - - FTPS: transmission over file transfer protocol secure (FTPS), as - specified in IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number (if the - host with the compile log file uses a non-standard port number - as per the supported transmission protocol), a valid file - directory path, and the file name of the compiled log file, or a - valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the log - files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log file. - Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log file. The - hash shall be computed from the encrypted compiled log file, in - case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log file. - Shall be present if the compiled log file is encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall be - present if the compiled log file is encrypted. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the NFV-MANO - functional entity’s private key, which is used to ensure the - authenticity of the compiled log file. The signature shall be - applied according to the "encryptAndSignOrder" of the - "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s public - key used for verifying the log report and compiled log file - signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LogmSubscriptionRequest: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceNames: - description: >- - If present, match NFV-MANO services with an NFV-MANO service - name listed in this attribute. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - manoServiceInterfaceNames: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - consumedManoInterfaceNames: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance Name listed in this attribute. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - CreateLoggingJobRequest: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - requested to be collected. This attribute shall contain the - identifier of the instance of the object to be logged according to - their type. If more than one identifier is provided, values shall - all refer to object instances of the same type, for which the same - criteria is then applicable. - type: array - minItems: 1 - items: - description: > - This type represents the identifier to reference a managed object - of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - LoggingJob: - description: >- - This type represents a logging job. It shall comply with the provisions - defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - collected. This attribute shall contain the identifier of the - instance of the object that is logged according to their type. - type: array - items: - description: > - This type represents the identifier to reference a managed object - of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from - 0 to 255. In case of an IPV6 address, string that - consists of groups of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - keyvalue pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 8259. In - the following example, a list of key-value pairs with four - keys ("aString", "aNumber", "anArray" and "anObject") is - provided to illustrate that the values associated with - different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - logReports: - description: Information about available log reports created by the logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: | - An identifier with the intention of being globally unique. - type: string - logReportLoc: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - type: array - items: - description: > - This type represents a link to a resource using an absolute - URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining to - NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO - functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input and - output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, - only messages that match all the values provided in the - sub-attributes shall be logged. An API consumer can provide more - than one "matchingPattern" if combinations of patterns are to be - considered to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an - IPV4 address, string that consists of four decimal - integers separated by dots, each integer ranging from 0 to - 255. In case of an IPV6 address, string that consists of - groups of zero to four hexadecimal digits, separated by - colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all - valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": for - matching any kind redirection response. - "4XX": for - matching any kind of client error response. - "5XX": for - matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field - name shall be one of the supported fields in a request - message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause 4.2.3 of - ETSI GS NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in - the header field indicated by "headerField" shall be the - same as in this attribute. Shall be provided if a - "headerField" is provided. The API producer may support - this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part - containing all the values from the list shall match the - filter. In addition to a matching filter for the body of - the message, a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to appropriate - textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the - following example, a list of key-value pairs with four keys - ("aString", "aNumber", "anArray" and "anObject") is provided to - illustrate that the values associated with different keys can be - of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in the - clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used - to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall - collect system log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more severe) or - equal to the value provided by this present attribute. - type: number - LoggingJobMessagesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - OUT: - output messages from the interface. - ALL: both input and output - messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, only - messages that match all the values provided in the sub-attributes - shall be logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are to be considered - to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers - separated by dots, each integer ranging from 0 to 255. In case - of an IPV6 address, string that consists of groups of zero to - four hexadecimal digits, separated by colons. - type: string - format: IP - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP request - method of the message shall be the same as the value of this - attribute. Valid values are specified in IETF RFC 7231. The - API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers - separated by dots, each integer ranging from 0 to 255. In case - of an IPV6 address, string that consists of groups of zero to - four hexadecimal digits, separated by colons. - type: string - format: IP - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all valid - HTTP response codes and their specification documents can be - obtained from the HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any kind of - informational response. - "2XX": for matching any kind of - success response. - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field name - shall be one of the supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a - response message as defined in clause 4.2.3 of ETSI GS NFV-SOL - 013, in accordance with the "direction" criteria input. The - API producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in the - header field indicated by "headerField" shall be the same as - in this attribute. Shall be provided if a "headerField" is - provided. The API producer may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part containing - all the values from the list shall match the filter. In - addition to a matching filter for the body of the message, a - corresponding "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to restrict matching - to appropriate textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - LoggingJobServicesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - LoggingJobSystemCriteria: - description: >- - This type represents criteria for logging jobs to collect logged system - events of the NFV-MANO functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of keyvalue - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 8259. In the following - example, a list of key-value pairs with four keys ("aString", - "aNumber", "anArray" and "anObject") is provided to illustrate that - the values associated with different keys can be of different type. - type: object - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is "rfc5424", - which represents the set of values specified in the clause 6.2.1, - table 2 of IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall collect - system log messages, as indicated by the "systemLogs" attribute, - with severity levels lower (i.e., more severe) or equal to the value - provided by this present attribute. - type: number - LoggingJobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The present - document version does not specify the support for "log compilation and - reporting based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to the - consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the consumer - once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, in - seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log data, - in bytes. It is used when the compilation is based on the size of - the collected log data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer (e.g., - every 24 hours). If not present, a default value as specified with - the "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of the - compiled log file. More than one algorithm can be provided - from higher (lower array index) to lower (higher array - index) precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and "signFirst" - for the order "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for retrieving/accessing - the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided if - required by the type of transfer protocol. May be omitted if - the key has been provided to the API producer by other - means, or if it has already been provided in some previous - CreateLoggingJobRequest issued by the same API consumer, - whose public key has not changed. - type: string - LogReportAvailableNotification: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information has - been collected by the logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be set to - "LogReportAvailableNotification" for this notification type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a managed object of - a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if attribute - "manoEntityComponents" in "ManoEntity" is supported by the API - producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type within a - NFV-MANO functional entity, but that need not be globally - unique. Representation: string of variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. Due to - the relationship of the logging job compilation and the logging - information availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log management - event from the API producer to the API consumer. The API consumer - shall have previously created an "Individual subscription" resource - with a matching filter. This method shall follow the provisions - specified in the tables 8.5.9.3.1-1 and 8.5.9.3.1-2 for URI query - parameters, request and response data structures, and response - codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report - of the NFV-MANO functional entity is available. It shall - comply with the provisions defined in table 8.6.2.4-1. The - notification shall be triggered by the NFV-MANO functional - entity when log information has been collected by the - logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging job - compilation and the logging information availability - reporting, more than one logReport notification link - can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if - the request URI contains incorrect query parameters or the - payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does not - support paging for the affected resource, it shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If there is an application error related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of the - error shall be returned in the WWW Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of - API requests and notifications, as defined in clauses 4.5.3.3 - and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure shall be - provided. It should include in the "detail" attribute - information about the source of the problem, and may indicate - how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for - the resource addressed by the URI passed in the request or is - not willing to disclose that one exists, it shall respond with - this response code. The "ProblemDetails" structure may be - provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is designed - to contain child resources, but does not contain any child - resource at the time the request is received. For a GET request - to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty - array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name - of a content type that is acceptable to the API producer, the - API producer shall respond with this response code. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP response - code ("catch all error"), the API producer shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the - use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified in - the tables 8.5.9.3.2-1 and 8.5.9.3.2-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: Version - description: > - Version of the API requested to use when responding to this - request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: - IETF RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: >- - Shall be returned to indicate that the notification endpoint has - been tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the - "ProblemDetails" structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if - the request URI contains incorrect query parameters or the - payload body contains a syntactically incorrect data structure), - the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - If the response to a GET request which queries a container - resource would be so big that the performance of the API - producer is adversely affected, and the API producer does not - support paging for the affected resource, it shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and should include in the "detail" attribute more - information about the source of the problem. - - If there is an application error related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and shall include in the "detail" attribute more information - about the source of the problem. - - If the request contains a malformed access token, the API - producer should respond with this response. The details of the - error shall be returned in the WWW Authenticate HTTP header, as - defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of - API requests and notifications, as defined in clauses 4.5.3.3 - and 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF - RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular - request to a particular resource, the API producer shall respond - with this response code. The "ProblemDetails" structure shall be - provided. It should include in the "detail" attribute - information about the source of the problem, and may indicate - how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for - the resource addressed by the URI passed in the request or is - not willing to disclose that one exists, it shall respond with - this response code. The "ProblemDetails" structure may be - provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource - addressed by the URI is a container resource which is designed - to contain child resources, but does not contain any child - resource at the time the request is received. For a GET request - to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty - array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response - code. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name - of a content type that is acceptable to the API producer, the - API producer shall respond with this response code. The - "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of - the problem. - - This error response code is only applicable for methods that - have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's - input that cannot be easily mapped to any other HTTP response - code ("catch all error"), the API producer shall respond with - this response code. The "ProblemDetails" structure shall be - provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the - use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data - structure from IETF RFC 7807 [19] is reproduced inthis - structure. Compared to the general framework defined in - IETF RFC 7807 [19], the "status" and "detail" attributes - are mandated to be included by the present document, to - ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible - that particular APIs in the present document, or - particular implementations, define extensions to define - additional attributes that provide more information about - the error. The description column only provides some - explanation of the meaning to Facilitate understanding of - the design. For a full description, see IETF RFC 7807 - [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the - URI provides human-readable documentation for the - problem (e.g. using HTML) when dereferenced. When this - member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. - It should not change from occurrence to occurrence of - the problem, except for purposes of localization. If - type is given and other than "about:blank", this - attribute shall also be provided. A short, - human-readable summary of the problem type. It SHOULD - NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., - using proactive content negotiation; see [RFC7231], - Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the - problem. The HTTP status code ([RFC7231], Section 6) - generated by the origin server for this occurrence of - the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this - occurrence of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific - occurrence of the problem. It may yield further - information if dereferenced. - type: string - format: URI - diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index fb16841cf..2e859232c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -11,7 +11,7 @@ POST Individual NFV-MANO Performance Job - Method not implemented ... Test title: POST Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET individual NFV-MANO Performance Job ... Test title: Get individual NFV-MANO Performance Job ... Test objective: The objective is to test the retrieval of an individual performance monitoring job and perform a JSON schema validation of the collected job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Get individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual NFV-MANO Performance Job - Method not implemented ... Test title: PUT Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual NFV-MANO Performance Job - Method not implemented ... Test title: PATCH Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual NFV-MANO Performance Job ... Test title: Delete Individual NFV-MANO Performance Job ... Test objective: The objective is to test the deletion of an individual performance monitoring job ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is no more available. @@ -87,7 +87,7 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Delete individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NFV-MANO performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot index 873fa6f4f..8eac0c695 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NFV-MANO performance report associated to a monitoring job fails when using an invalid resource endpoint. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NFV-MANO performance report within a monitoring job ... Pre-conditions: none - ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANOM ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot index 2e0558a51..90735e180 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Performance Subscription ... Test title: GET Individual Performance Subscription ... Test objective: The objective is to test the retrieval of individual performance subscription and perform a JSON schema validation of the returned subscription data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Performance Subscription with invalid resource identifier ... Test title: GET Individual Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance subscription fails when using an invalid resource identifier. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Performance Subscription ... Test title: DELETE Individual Performance Subscription ... Test objective: The objective is to test the deletion of an individual performance subscription ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Performance Subscription is not available anymore in the NFV-MANO @@ -51,7 +51,7 @@ DELETE Individual Performance Subscription with invalid resource identifier ... Test title: DELETE Individual Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual performance subscription fails when using an invalid resource identifier. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Performance Subscription - Method not implemented ... Test title: POST Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Subscription ... Pre-conditions: none - ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Individual Performance Subscription - Method not implemented ... Test title: PUT Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance subscription. ... Pre-conditions: none - ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Individual Performance Subscription - Method not implemented ... Test title: PATCH Individual Performance Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance subscription ... Pre-conditions: none - ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot index d66a5f555..d6314cebc 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NFV-MANO performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance jobs are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Threshold - Method not implemented ... Test title: PATCH Individual Threshold - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Performance Threshold is not available anymore in the NFV-MANO @@ -87,7 +87,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot index 420b3280a..888fb32c7 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ Performance Information Available Notification ... Test title: Performance Information Available Notification ... Test objective: The objective is to test that Performance Available Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for performance available notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test that Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for threshold crosssed notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index c2aaba955..0be775d25 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -17,7 +17,7 @@ Performance Information Availability Notification ... Test title: Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of Performance Information Availability Notification when new performance information is available in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of Threshold Crossed Notification when a previously set performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a threshold subscription is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 66281f44c..da9bcd39e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -9,12 +9,12 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -Create new NFV-MANO Performance Monitoring Job +POST Create new NFV-MANO Performance Monitoring Job [Documentation] Test ID: 8.3.2.1.1 - ... Test title: Create a new NFV-MANO Performance Monitoring Job + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NFV-MANO performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is successfully created on the NFV-MANO @@ -28,7 +28,7 @@ GET all NFV-MANO Performance Monitoring Jobs ... Test title: GET all NFV-MANO Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance monitoring jobs and perform a JSON schema validation ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NFV-MANO performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute sele ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of fields attribute selector ... Post-Conditions: none @@ -93,7 +93,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selec ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -106,7 +106,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails with invalid attribute selector ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test title: GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to retrieve information about the performance monitoring jobs to get paged response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET information about multiple Performance Monitoring Jobs for Bad Request Respo ... Test title: GET information about multiple Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about performance monitoring jobs when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET information about multiple Performance Monitoring Jobs with "fields" and "ex ... Test title: GET all NFV-MANO Performance Monitoring Jobs with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve all performance monitoring jobs with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ Get information about multiple Performance Monitoring Jobs with malformed author ... Test title: Get information about multiple Performance Monitoring Jobs with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using malformed authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ Get information about multiple Performance Monitoring Jobs without authorization ... Test title: Get information about multiple Performance Monitoring Jobs without authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when omitting the authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple Performance Monitoring Jobs with expired or revok ... Test title: GET information about multiple Performance Monitoring Jobs with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +207,7 @@ PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ PATCH all NFV-MANO Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,13 +231,26 @@ DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Check HTTP Response Status Code Is 405 +POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification Endpoint + [Documentation] Test ID: 8.3.2.1.19 + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job + ... Test objective: The objective is to test that a new NFV_MANO Performance Monitoring Job is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** GET all NFV-MANO Performance Monitoring Jobs Log Trying to get all PM Jobs present in the NFV-MANO @@ -351,7 +364,19 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/CreatePmJobRequest.json ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} +Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Unreachable Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -390,6 +415,24 @@ Check Postcondition PmJob Exists Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PmJob +Check GET response from Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_uri} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_uri} + +Check GET response from Unreachable Notification Endpoint + Log Creating mock request and response to handle GET operation on unreachable notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} + &{notification_response}= Create Mock Response status_code=404 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${unreachable_callback_uri} + Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} diff --git a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot index 013db6210..d3d2afb15 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET all Performance Subscriptions ... Test title: GET all Performance Subscriptions ... Test objective: The objective is to test the retrieval of all performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Performance Subscriptions with attribute-based filter ... Test title: GET Performance Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ GET Performance Management Subscriptions with Paged Response ... Test title: GET Performance Management Subscriptions with Paged Response ... Test objective: The objective is to query information about NFV-MANO Performance Subscriptions to get Paged Response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET Performance Subscriptions with invalid attribute-based filter ... Test title: GET Performance Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Performance Subscriptions - Bad Request Response too Big ... Test title: GET Performance Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: @@ -82,7 +82,7 @@ GET Performance Subscriptions with invalid resource endpoint ... Test title: GET Performance Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all performance subscriptions fails when using invalid resource endpoint. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ Create new Performance subscription ... Test title: Create new Performance subscription ... Test objective: The objective is to test the creation of a new performance subscription and perform a JSON schema and content validation of the returned subscription data structure. ... Pre-conditions: An instance is instantiated. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The performance subscription is successfully set and it matches the issued subscription. @@ -111,7 +111,7 @@ Create duplicated Performance subscription with NFV-MANO not creating duplicated ... Test title: Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated performance subscription and check that no new subscription is created by the NFV-MANO and a link to the original subscription is returned ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing performance subscription returned is available in the NFV-MANO @@ -127,7 +127,7 @@ Create duplicated Performance subscription with NFV-MANO creating duplicated sub ... Test title: Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure. ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated performance subscription is successfully set and it matches the issued subscription @@ -142,7 +142,7 @@ PUT Performance Subscriptions - Method not implemented ... Test title: PUT Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ PATCH Performance Subscriptions - Method not implemented ... Test title: PATCH Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ DELETE Performance Subscriptions - Method not implemented ... Test title: DELETE Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance subscriptions ... Pre-conditions: none - ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 71a956bf4..5a82e678f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -13,7 +13,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Threshold is successfully created on the NFV-MANO @@ -28,7 +28,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds and perform a JSON schema validation of the collected thresholds data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set in the NFV-MANO. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Performance Threshold with Paged Response ... Test title: GET Performance Threshold with Paged Response ... Test objective: The objective is to query information about NFV-MANO Performance Thresholds to get Paged Response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET Performance Thresholds - Invalid attribute-based filter ... Test title: GET Performance Thresholds - Invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET Performance Threshold - Bad Request Response too Big ... Test title: GET Performance Threshold - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 877c07bfe..d9b2c9a50 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -22,6 +22,7 @@ ${apiName} nfvmanopm ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions ${callback_endpoint_error} /subs_404 ${sleep_interval} 20s -- GitLab From 8169ecd68be2e0052331b3538bede51e00db48d6 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 12:30:14 +0500 Subject: [PATCH 175/211] create separate keywords robot file for NFVMANO PM API --- .../NFVMANOPMKeywords.robot | 214 ++++++++++++++++++ .../PMJobs.robot | 206 +---------------- 2 files changed, 215 insertions(+), 205 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot new file mode 100644 index 000000000..8e37061b6 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -0,0 +1,214 @@ +*** Settings *** +Library String +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Resource environment/pmJobs.txt +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Keywords *** +GET all NFV-MANO Performance Monitoring Jobs + Log Trying to get all PM Jobs present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs with malformed authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs without authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries omitting token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs with expired or revoked authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector + Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector + Log Query VNF The GET method queries information about multiple VNF instances. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Send Post Request Create new NFV-MANO Performance Monitoring Job + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + Check GET response from Unreachable Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all NFV-MANO Performance Monitoring Jobs + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition PmJob Exists + Log Checking that Pm Job exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJob + +Check GET response from Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_uri} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_uri} + +Check GET response from Unreachable Notification Endpoint + Log Creating mock request and response to handle GET operation on unreachable notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} + &{notification_response}= Create Mock Response status_code=404 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${unreachable_callback_uri} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Check HTTP Response Header Contains Link + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index da9bcd39e..10f6c6348 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library String Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt +Resource NFVMANOPMKeywords.robot Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -250,208 +251,3 @@ POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification E Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails - -*** Keywords *** -GET all NFV-MANO Performance Monitoring Jobs - Log Trying to get all PM Jobs present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs with malformed authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication - Log The GET method queries using invalid token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs without authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication - Log The GET method queries omitting token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs with expired or revoked authorization token - Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication - Log The GET method queries using invalid token - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector - Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Send Post Request Create new NFV-MANO Performance Monitoring Job - Log Creating a new PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - Check GET response from Notification Endpoint - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint - Log Creating a new PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - Check GET response from Unreachable Notification Endpoint - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all NFV-MANO Performance Monitoring Jobs - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition PmJob Exists - Log Checking that Pm Job exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmJob - -Check GET response from Notification Endpoint - Log Creating mock request and response to handle GET operation on notification endpoint - &{notification_request}= Create Mock Request Matcher GET ${callback_uri} - &{notification_response}= Create Mock Response status_code=204 - Log Issue the subscription request - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${callback_uri} - -Check GET response from Unreachable Notification Endpoint - Log Creating mock request and response to handle GET operation on unreachable notification endpoint - &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} - &{notification_response}= Create Mock Response status_code=404 - Log Issue the subscription request - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${unreachable_callback_uri} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file -- GitLab From 69be8e5c3d3e99e36ddb107565455007719463aa Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 14:31:56 +0500 Subject: [PATCH 176/211] move individual PM job keywords to common NFVMANO PM keyword file --- .../IndividualPmJob.robot | 90 +------------------ .../NFVMANOPMKeywords.robot | 69 ++++++++++++++ 2 files changed, 70 insertions(+), 89 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index 2e859232c..b1f25c2b0 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Resource environment/IndividualPmJob.txt +Resource NFVMANOPMKeywords.robot Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** @@ -93,92 +94,3 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Post-Conditions: none Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Check HTTP Response Status Code Is 404 - -*** Keywords *** -GET individual NFV-MANO Performance Job - Log Trying to get a Pm Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative get, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job - Log Trying to delete an existing PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative delete, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for individual NFV-MANO Performance Job - Log Trying to perform a POST (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for individual NFV-MANO Performance Job - Log Trying to perform a POST (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for individual NFV-MANO Performance Job - Log Trying to perform a PATCH (method should not be implemented) - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition NFV-MANO Pm Job is Deleted - Log Check Postcondition - GET individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 404 - -Check HTTP Response Body Pm Job Identifier matches the requested Pm Job - Log Going to validate Pm Job info retrieved - Should Be Equal ${response['body']['id']} ${pmJobId} - Log Pm Job identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 8e37061b6..76044fd66 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -212,3 +212,72 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Header Contains Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} + +GET individual NFV-MANO Performance Job + Log Trying to get a Pm Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative get, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job + Log Trying to delete an existing PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative delete, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for individual NFV-MANO Performance Job + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for individual NFV-MANO Performance Job + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition NFV-MANO Pm Job is Deleted + Log Check Postcondition + GET individual NFV-MANO Performance Job + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Pm Job Identifier matches the requested Pm Job + Log Going to validate Pm Job info retrieved + Should Be Equal ${response['body']['id']} ${pmJobId} + Log Pm Job identifier as expected -- GitLab From 19fb4e620696b9e4b6f965d087217eabae109741 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 16:23:37 +0500 Subject: [PATCH 177/211] implement PATCH method for individual PM job for PM API --- .../IndividualPmJob.robot | 40 ++++++++++++++++--- .../NFVMANOPMKeywords.robot | 32 ++++++++++++++- .../environment/IndividualPmJob.txt | 3 +- .../jsons/PmJobModifications.json | 3 ++ 4 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index b1f25c2b0..0059d50c4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -4,6 +4,7 @@ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Resource environment/IndividualPmJob.txt Resource NFVMANOPMKeywords.robot +Resource ../NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** @@ -58,17 +59,18 @@ PUT Individual NFV-MANO Performance Job - Method not implemented Send Put request for individual NFV-MANO Performance Job Check HTTP Response Status Code Is 405 -PATCH Individual NFV-MANO Performance Job - Method not implemented +PATCH Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.5 - ... Test title: PATCH Individual NFV-MANO Performance Job - method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NFV-MANO Performance Monitoring Job - ... Pre-conditions: none + ... Test title: PATCH Individual NFV-MANO Performance Job + ... Test objective: The objective is to test that PATCH method modify an existing individual NFV-MANO Performance Monitoring Job + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: PM Job resource is modified. Send Patch request for individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJobModifications DELETE Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.6 @@ -94,3 +96,29 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Post-Conditions: none Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Check HTTP Response Status Code Is 404 + +PATCH Individual NFV-MANO Performance Job - Precondition failed + [Documentation] Test ID: 8.3.2.2.8 + ... Test title: PATCH Individual NFV-MANO Performance Job - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO Performance job where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual NFV-MANO Performance Job - Unprocessable entity + [Documentation] Test ID: 8.3.2.2.9 + ... Test title: PATCH Individual NFV-MANO Performance Job - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 76044fd66..850c5fdbd 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -3,6 +3,7 @@ Library String Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt +Resource environment/IndividualPmJob.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -265,10 +266,37 @@ Send Put request for individual NFV-MANO Performance Job Set Suite Variable ${response} ${output} Send Patch request for individual NFV-MANO Performance Job - Log Trying to perform a PATCH (method should not be implemented) + Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Log Trying to perform a PATCH on PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri}:${callback_port} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt index b3616b30f..6c35d79f8 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt @@ -3,4 +3,5 @@ ${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e ${erroneousPmJobId} erroneousPmJobId ${newPmJobId} newPmJobId ${response}= httpresponse -${OrigResponse}= httpresponse \ No newline at end of file +${OrigResponse}= httpresponse +${invalid_etag} invalid etag \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json new file mode 100644 index 000000000..901b75c2d --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json @@ -0,0 +1,3 @@ +{ + "callbackUri": "{callbackUri}" +} \ No newline at end of file -- GitLab From b418ce27bc1cddd4fce396af4832785fc798f686 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 16:35:35 +0500 Subject: [PATCH 178/211] remove subscriptions and individual subscription resources from PM API --- .../IndividualSubscription.robot | 171 ---------- .../Subscriptions.robot | 323 ------------------ .../environment/subscriptions.txt | 7 - .../jsons/subscriptions.json | 6 - .../schemas/PmSubscription.schema.json | 110 ------ .../schemas/PmSubscriptions.schema.json | 113 ------ indexes/sol_009_index.csv | 4 +- 7 files changed, 2 insertions(+), 732 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot deleted file mode 100644 index 90735e180..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot +++ /dev/null @@ -1,171 +0,0 @@ -*** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/individualSubscription.txt - -*** Test Cases *** -GET Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.1 - ... Test title: GET Individual Performance Subscription - ... Test objective: The objective is to test the retrieval of individual performance subscription and perform a JSON schema validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Individual Performance Subscription - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body Subscription Identifier matches the requested Subscription - -GET Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.2 - ... Test title: GET Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the retrieval of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - GET individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -DELETE Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.3 - ... Test title: DELETE Individual Performance Subscription - ... Test objective: The objective is to test the deletion of an individual performance subscription - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The Performance Subscription is not available anymore in the NFV-MANO - Send Delete request for individual Performance Subscription - Check HTTP Response Status Code Is 204 - Check Postcondition Performance Subscription is Deleted - -DELETE Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.4 - ... Test title: DELETE Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the deletion of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete request for individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -POST Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.5 - ... Test title: POST Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Post request for individual Performance Subscription - Check HTTP Response Status Code Is 405 - -PUT Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.6 - ... Test title: PUT Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance subscription. - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -PATCH Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.7 - ... Test title: PATCH Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -*** Keywords *** -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Get Individual Performance Subscription - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Body Subscription Identifier matches the requested Subscription - Log Trying to check response ID - Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} - Log Subscription identifier as expected - -GET individual Performance Subscription with invalid resource identifier - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual Performance Subscription - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual Performance Subscription with invalid resource identifier - Log Trying to delete a subscription in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Check Postcondition Performance Subscription is Deleted - Log Check Postcondition Subscription is deleted - GET individual Performance Subscription - Check HTTP Response Status Code Is 404 - -Send Post request for individual Performance Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Put request for individual Performance Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Patch request for individual Performance Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot deleted file mode 100644 index d3d2afb15..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot +++ /dev/null @@ -1,323 +0,0 @@ -*** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/subscriptions.txt -Library MockServerLibrary -Library Process -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true - -*** Test Cases *** -GET all Performance Subscriptions - [Documentation] Test ID: 8.3.2.6.1 - ... Test title: GET all Performance Subscriptions - ... Test objective: The objective is to test the retrieval of all performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Subscriptions with attribute-based filter - [Documentation] Test ID: 8.3.2.6.2 - ... Test title: GET Performance Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with attribute-based filters - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Management Subscriptions with Paged Response - [Documentation] Test ID: 8.3.2.6.3 - ... Test title: GET Performance Management Subscriptions with Paged Response - ... Test objective: The objective is to query information about NFV-MANO Performance Subscriptions to get Paged Response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Header Contains Link - -GET Performance Subscriptions with invalid attribute-based filter - [Documentation] Test ID: 8.3.2.6.4 - ... Test title: GET Performance Subscriptions with invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid attribute-based filters - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions - Bad Request Response too Big - [Documentation] Test ID: 8.3.2.6.5 - ... Test title: GET Performance Subscriptions - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NFV-MANO performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get all Performance Subscriptions - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions with invalid resource endpoint - [Documentation] Test ID: 8.3.2.6.6 - ... Test title: GET Performance Subscriptions with invalid resource endpoint - ... Test objective: The objective is to test that the retrieval of all performance subscriptions fails when using invalid resource endpoint. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid resource endpoint - Check HTTP Response Status Code Is 404 - -Create new Performance subscription - [Documentation] Test ID: 8.3.2.6.7 - ... Test title: Create new Performance subscription - ... Test objective: The objective is to test the creation of a new performance subscription and perform a JSON schema and content validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The performance subscription is successfully set and it matches the issued subscription. - Send Post Request for Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - - -Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - [Tags] no-duplicated-subs - [Documentation] Test ID: 8.3.2.6.8 - ... Test title: Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - ... Test objective: The objective is to test the attempt of a creation of a duplicated performance subscription and check that no new subscription is created by the NFV-MANO and a link to the original subscription is returned - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions - ... Post-Conditions: The existing performance subscription returned is available in the NFV-MANO - Send Post Request for Duplicated Performance Subscription - Check HTTP Response Status Code Is 303 - Check HTTP Response Body Is Empty - Check HTTP Response Header Contains Location - Check Postcondition Subscription Resource Returned in Location Header Is Available - -Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - [Tags] duplicated-subs - [Documentation] Test ID: 8.3.2.6.9 - ... Test title: Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - ... Test objective: The objective is to test the creation of a duplicated performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions - ... Post-Conditions: The duplicated performance subscription is successfully set and it matches the issued subscription - Send Post Request for Duplicated Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - -PUT Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.10 - ... Test title: PUT Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to modify performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -PATCH Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.11 - ... Test title: PATCH Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -DELETE Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.12 - ... Test title: DELETE Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -*** Keywords *** - -Create Sessions - Pass Execution If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} - -Check Notification Endpoint - &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} - &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - -Check HTTP Response Body Subscription Identifier matches the requested Subscription - Log Trying to check response ID - Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} - Log Subscription identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Body Is Empty - Should Be Empty ${response['body']} - Log No json schema is provided. Validation OK - -Get all Performance Subscriptions - Set headers {"Accept": "application/json"} - Set headers {"Content-Type": "application/json"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - - Get Performance Subscriptions with attribute-based filters - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Performance Subscriptions with invalid attribute-based filters - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Performance Subscriptions with invalid resource endpoint - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscription - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request for Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint - -Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Log Check Response matches subscription - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - ${subscription}= evaluate json.loads('''${body}''') json - Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} - -Check Postcondition Performance Subscription Is Set - Log Check Postcondition subscription exist - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - -Send Post Request for Duplicated Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check Postcondition Subscription Resource Returned in Location Header Is Available - Log Going to check postcondition - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${response['headers']['Location']} - Integer response status 200 - Log Received a 200 OK as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} application/json - ${result}= Output response body - Validate Json PmSubscription.schema.json ${result} - Log Validated PmSubscription schema - -Send Put Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete Request for Performance Subscriptions - [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt deleted file mode 100644 index 49e695b6e..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${callbackUri} http://172.22.1.7:9091/nfvmanopm/subscriptions -${filter_ok} callbackUri=${callbackUri} -${filter_ko} erroneousFilter=erroneous -${total_polling_time} 2 min -${polling_interval} 10 sec -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json deleted file mode 100644 index 3ca4fc25a..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json +++ /dev/null @@ -1,6 +0,0 @@ -{{ - "callbackUri": "{callback_uri}{callback_endpoint}", - "filter": {{ - "notificationTypes": ["ThresholdCrossedNotification"] - }} -}} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json deleted file mode 100644 index 848628dcc..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json deleted file mode 100644 index 50d8ef1dd..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ -"type": "array", - "items": { - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", - "type": "object", - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - }, - "required": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } -} \ No newline at end of file diff --git a/indexes/sol_009_index.csv b/indexes/sol_009_index.csv index 14ea0c1c0..56a70747a 100644 --- a/indexes/sol_009_index.csv +++ b/indexes/sol_009_index.csv @@ -20,8 +20,8 @@ 8.3.2.3,Individual Report Endpoint, IndividualReport.robot 8.3.2.4,Thresholds Endpoint, Thresholds.robot 8.3.2.5,Individual Threshold Endpoint, IndividualThreshold.robot -8.3.2.6,Subscriptions Endpoint, Subscriptions.robot -8.3.2.7,Individual Subscription Endpoint, IndividualSubscription.robot +8.3.2.6,Void,Void +8.3.2.7,Void,Void 8.3.2.8,Notifications,Notifications.robot 8.3.2.9,API Version Endpoint, ApiVersion.robot 8.3.2.10,Notification Endpoint, NotificationEndpoint.robot -- GitLab From 8b5b5f7e476bd591083ffc2bbfaf22a00da14034 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 17:18:26 +0500 Subject: [PATCH 179/211] implement error 422 scenario in thresholds resource in PM API --- .../NFVMANOPMKeywords.robot | 87 +++++++++++++ .../Thresholds.robot | 120 +++--------------- 2 files changed, 103 insertions(+), 104 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 850c5fdbd..0a895a038 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -4,6 +4,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt +Resource environment/thresholds.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -309,3 +310,89 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job Log Going to validate Pm Job info retrieved Should Be Equal ${response['body']['id']} ${pmJobId} Log Pm Job identifier as expected + +GET all Performance Thresholds + Log Trying to get all thresholds present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with invalid attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with invalid filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold with unreachable notification endpoint + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Check GET response from Unreachable Notification Endpoint + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all Performance Thresholds + Log DELETE THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Threshold Exists + Log Checking that Threshold exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Threshold + +Check HTTP Response Body Thresholds match the requested attribute-based filter + Log Checking that attribute-based filter is matched + #todo diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 5a82e678f..8a23c8963 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -1,16 +1,12 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false Resource environment/thresholds.txt -Library OperatingSystem +Resource NFVMANOPMKeywords.robot *** Test Cases *** -Create new Performance Threshold +POST Create new Performance Threshold [Documentation] Test ID: 8.3.2.4.1 - ... Test title: Create new Performance Threshold + ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -125,100 +121,16 @@ DELETE Performance Thresholds - Method not implemented Send DELETE Request for all Performance Thresholds Check HTTP Response Status Code Is 405 -*** Keywords *** -GET all Performance Thresholds - Log Trying to get all thresholds present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with invalid attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with invalid filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request Create new Performance Threshold - Log Creating a new THreshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all Performance Thresholds - Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition Threshold Exists - Log Checking that Threshold exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Threshold - -Check HTTP Response Body Thresholds match the requested attribute-based filter - Log Checking that attribute-based filter is matched - #todo - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file +POST Create new Performance Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.4.10 + ... Test title: POST Create new Performance Threshold - Unprocessable Entity + ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. + ... Test objective: The objective is to test that a new NFV-MANO performance threshold is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request Create new Performance Threshold with unreachable notification endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails -- GitLab From dd4d109771f0e4149957b0a1e824a2bc7cd1cb1f Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Thu, 14 Oct 2021 18:11:38 +0500 Subject: [PATCH 180/211] add PATCH method to individual threshod in PM API --- .../IndividualThreshold.robot | 131 +++++------------- .../NFVMANOPMKeywords.robot | 103 +++++++++++++- .../jsons/ThresholdModification.json | 3 + 3 files changed, 137 insertions(+), 100 deletions(-) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot index d6314cebc..458db665f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Resource environment/individualThresholds.txt +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Threshold - Method not implemented @@ -57,17 +52,18 @@ PUT Individual Threshold - Method not implemented Send Put request for individual Performance Threshold Check HTTP Response Status Code Is 405 -PATCH Individual Threshold - Method not implemented +PATCH Individual Threshold [Documentation] Test ID: 8.3.2.5.5 - ... Test title: PATCH Individual Threshold - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance threshold - ... Pre-conditions: none + ... Test title: PATCH Individual Threshold + ... Test objective: The objective is to test that PATCH method modify an existing NFV_MANO performance threshold. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Threshold resource is modified. Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ThresholdModifications DELETE Individual Threshold [Documentation] Test ID: 8.3.2.5.6 @@ -94,91 +90,28 @@ DELETE Individual Threshold with invalid resource identifier Send Delete request for individual Performance Threshold with invalid resource identifier Check HTTP Response Status Code Is 404 -*** Keywords *** -GET Individual Performance Threshold - Log Trying to get a Threhsold present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -GET individual Performance Threshold with invalid resource identifier - Log Trying to get a Threhsold with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold - Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold with invalid resource identifier - Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Post request for individual Performance Threshold - Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Put request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Patch request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Check Postcondition Performance Threshold is Deleted - Log Check Postcondition Threshold is deleted - GET individual Performance Threshold - Check HTTP Response Status Code Is 404 - -Check HTTP Response Body Threshold Identifier matches the requested Threshold - Log Trying to check response ID - Should Be Equal ${response['body']['id']} ${thresholdId} - Log Pm Job identifier as expected - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated +PATCH Individual Threshold - Precondition failed + [Documentation] Test ID: 8.3.2.5.8 + ... Test title: PATCH Individual Threshold - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO threshold where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK +PATCH Individual Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.5.9 + ... Test title: PATCH Individual Threshold - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual threshold resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 0a895a038..5f892cee6 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -5,6 +5,7 @@ Resource environment/variables.txt Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt +Resource environment/individualThresholds.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -282,7 +283,7 @@ Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set Headers {"If-Match": "${invalid_etag}"} + Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json @@ -396,3 +397,103 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched #todo + +GET Individual Performance Threshold + Log Trying to get a Threhsold present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET individual Performance Threshold with invalid resource identifier + Log Trying to get a Threhsold with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold + Log Trying to delete a Threhsold in the NFV-MANO + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold with invalid resource identifier + Log Trying to delete a Threhsold in the NFV-MANO with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Performance Threshold + Log Trying to create new threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold - Etag mismatch + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"If-Match": "${invalid_etag}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold with unprocessable entity + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Performance Threshold is Deleted + Log Check Postcondition Threshold is deleted + GET individual Performance Threshold + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Threshold Identifier matches the requested Threshold + Log Trying to check response ID + Should Be Equal ${response['body']['id']} ${thresholdId} + Log Pm Job identifier as expected diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json new file mode 100644 index 000000000..49d7da216 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json @@ -0,0 +1,3 @@ +{ + "callbackUri":"{callbackUri}" +} \ No newline at end of file -- GitLab From 1715227a2a6a0a05b66c37ce6026fdcffc2bf7f8 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 10:48:01 +0500 Subject: [PATCH 181/211] add ThresholdModifications schema file for PM API --- .../ThresholdModifications.schema.json | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json new file mode 100644 index 000000000..163efd310 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a threshold. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "authentication": { + "type": "object", + "required": ["authType"], + "properties": { + "authType": { + "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] + } + }, + "paramsBasic": { + "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "userName": { + "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + } + } + }, + "paramsOauth2ClientCredentials": { + "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "clientId": { + "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "clientPassword": { + "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} -- GitLab From 7bf8d5c75a10147b8b7c816f928dcff9c428dafc Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:06:20 +0500 Subject: [PATCH 182/211] modify notifications endpoint for PM API --- .../ApiVersion.robot | 20 +++---- .../NFVMANOPMKeywords.robot | 43 ++++++++++++++- .../NotificationEndpoint.robot | 55 +------------------ .../environment/individualSubscription.txt | 5 -- .../environment/variables.txt | 5 +- ...ceInformationAvailabilityNotification.json | 3 +- .../jsons/ThresholdCrossedNotification.json | 2 - 7 files changed, 58 insertions(+), 75 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index 7027ed256..29d433ed5 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -131,70 +131,70 @@ DELETE API Version with apiMajorVerion - Method not implemented *** Keywords *** POST API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE API Version with apiMajorVersion Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 5f892cee6..4a18b5099 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -6,6 +6,7 @@ Resource environment/pmJobs.txt Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt Resource environment/individualThresholds.txt +Resource environment/notifications.txt Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -112,7 +113,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector Log Query VNF The GET method queries information about multiple VNF instances. Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -497,3 +498,43 @@ Check HTTP Response Body Threshold Identifier matches the requested Threshold Log Trying to check response ID Should Be Equal ${response['body']['id']} ${thresholdId} Log Pm Job identifier as expected + +Check PM Job resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + Integer response status 200 + Validate Json response body PmJob.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Performance Information Available Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json + ${body}= Format String ${template} pmJobId=${pmJobId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check Threshold resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + Integer response status 200 + Validate Json response body Threshold.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Threshold Crossed Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/ThresholdCrossedNotification.json + ${body}= Format String ${template} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot index 888fb32c7..af5d92c6e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot @@ -1,12 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/individualThresholds.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String -Suite Setup Check resource existence and get CallbackUri +Resource NFVMANOPMKeywords.robot *** Test Cases *** @@ -19,6 +12,7 @@ Performance Information Available Notification ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check PM Job resource existence and get CallbackUri POST Performance Information Available Notification Check HTTP Response Status Code Is 204 @@ -31,49 +25,6 @@ Threshold Crossed Notification ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check Threshold resource existence and get CallbackUri POST Threshold Crossed Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body PmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -POST Performance Information Available Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST Threshold Crossed Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/ThresholdCrossedNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - - - - - - - diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt deleted file mode 100644 index 945e4c67f..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${erroneousSubscriptionId} erroneousSubscriptionId -${newSubscriptionId} newSubsciptionId -${response} httpresponse -${origResponse} httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index d9b2c9a50..fe96b3c2a 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -4,7 +4,8 @@ ${NFVMANO_PORT} 8080 # Listening port of the VNFM ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION} Bearer negativetoken ${BAD_AUTHORIZATION} Bear sometoken @@ -32,8 +33,6 @@ ${polling_interval} 10 sec ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa - ${response} ${objectInstanceIds} daca910b0-00d4f1a2b675d-604257e42 diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json index 5be4a1a38..c997ed2c7 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json @@ -1,12 +1,11 @@ {{ "id": "", "notificationType": "PerformanceInformationAvailableNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", + "pmJobId": "{pmJobId}", "objectType": "", "objectInstanceId": "{objectInstanceId}", "_links": {{ - "subscription": "" "objectInstance": "", "pmJob": "", "performanceReport": "" diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json index 8984e0f66..390215f3e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json @@ -1,7 +1,6 @@ {{ "id": "", "notificationType": "ThresholdCrossedNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", "thresholdId": "{thresholdId}", "crossingDirection": "UP", @@ -10,7 +9,6 @@ "performanceMetric": "", "performanceValue": "", "_links": {{ - "subscription": "" "objectInstance": "", "threshold": "" }} -- GitLab From 93bd9b139c887af44c21eab0a6915ff08a3ae323 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:13:04 +0500 Subject: [PATCH 183/211] refactor apiVersion and reports resources keywords for PM API --- .../ApiVersion.robot | 88 +--------- .../IndividualReport.robot | 76 +-------- .../NFVMANOPMKeywords.robot | 156 ++++++++++++++++-- 3 files changed, 141 insertions(+), 179 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index 29d433ed5..dbbbc836c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot index 8eac0c695..64d574fbf 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot @@ -1,9 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Resource environment/reports.txt -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Performance Report - Method not implemented @@ -79,73 +75,3 @@ DELETE Individual Performance Report - Method not implemented Send Delete request for Individual Performance Report Check HTTP Response Status Code Is 405 -*** Keywords *** -Get Individual Performance Report - Log Trying to get a performance report present in the NFV-MANOM - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Individual Performance Report with invalid resource endpoint - Log Trying to get a performance report with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for Individual Performance Report - Log Trying to create new performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for Individual Performance Report - Log Trying to delete performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} - Log Status code validated - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 4a18b5099..7f42ebd8b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -7,6 +7,8 @@ Resource environment/IndividualPmJob.txt Resource environment/thresholds.txt Resource environment/individualThresholds.txt Resource environment/notifications.txt +Resource environment/reports.txt +Library DependencyLibrary Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false @@ -316,7 +318,7 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job GET all Performance Thresholds Log Trying to get all thresholds present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -324,7 +326,7 @@ GET all Performance Thresholds GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFV-MANO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} ${output}= Output response Set Suite Variable ${response} ${output} @@ -332,14 +334,14 @@ GET Performance Thresholds with attribute-based filter GET Performance Thresholds with invalid attribute-based filter Log Trying to get thresholds present in the NFV-MANO with invalid filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json @@ -350,7 +352,7 @@ Send Post Request Create new Performance Threshold Send Post Request Create new Performance Threshold with unreachable notification endpoint Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Check GET response from Unreachable Notification Endpoint @@ -362,7 +364,7 @@ Send Post Request Create new Performance Threshold with unreachable notification Send PUT Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -371,7 +373,7 @@ Send PUT Request for all Performance Thresholds Send PATCH Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -380,7 +382,7 @@ Send PATCH Request for all Performance Thresholds Send DELETE Request for all Performance Thresholds Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -402,7 +404,7 @@ Check HTTP Response Body Thresholds match the requested attribute-based filter GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -410,28 +412,28 @@ GET Individual Performance Threshold GET individual Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Performance Threshold Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -439,7 +441,7 @@ Send Post request for individual Performance Threshold Send Put request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -450,7 +452,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -465,7 +467,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -479,7 +481,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -538,3 +540,123 @@ POST Threshold Crossed Notification Post ${callbackResp} ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Get Individual Performance Report + Log Trying to get a performance report present in the NFV-MANOM + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Performance Report with invalid resource endpoint + Log Trying to get a performance report with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Individual Performance Report + Log Trying to create new performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Individual Performance Report + Log Trying to delete performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} -- GitLab From 487fc05770b36c23203976172aa5cf16212148c9 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 12:44:23 +0500 Subject: [PATCH 184/211] update json data models --- .../NFVMANOPMKeywords.robot | 100 +++++++++--------- .../Notifications.robot | 2 +- .../jsons/CreatePmJobRequest.json | 4 +- .../jsons/CreateThresholdRequest.json | 7 +- .../jsons/PmJobModifications.json | 3 +- .../jsons/ThresholdModification.json | 3 - .../jsons/ThresholdModifications.json | 4 + .../schemas/PmJobModifications.schema.json | 56 ++++++++++ 8 files changed, 120 insertions(+), 59 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json create mode 100644 SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json create mode 100644 SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 7f42ebd8b..19c6b5f89 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -18,7 +18,7 @@ Library MockServerLibrary GET all NFV-MANO Performance Monitoring Jobs Log Trying to get all PM Jobs present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -55,7 +55,7 @@ GET Performance Monitoring Jobs with expired or revoked authorization token GET NFV-MANO Performance Monitoring Jobs with attribute-based filter Log Trying to get all PM Jobs present in the NFV-MANO, using filter params Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} ${output}= Output response Set Suite Variable ${response} ${output} @@ -63,7 +63,7 @@ GET NFV-MANO Performance Monitoring Jobs with attribute-based filter GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields ${output}= Output response Set Suite Variable ${response} ${output} @@ -71,7 +71,7 @@ GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -80,7 +80,7 @@ GET NFV-MANO Performance Monitoring Jobs with fields attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -89,7 +89,7 @@ GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribu Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -98,7 +98,7 @@ GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -106,7 +106,7 @@ GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} ${output}= Output response Set Suite Variable ${response} ${output} @@ -124,9 +124,9 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} Check GET response from Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response @@ -136,9 +136,9 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} Check GET response from Unreachable Notification Endpoint POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} ${output}= Output response @@ -147,7 +147,7 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable Send PUT Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -155,7 +155,7 @@ Send PUT Request for all NFV-MANO Performance Monitoring Jobs Send PATCH Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -163,7 +163,7 @@ Send PATCH Request for all NFV-MANO Performance Monitoring Jobs Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response Set Suite Variable ${response} ${output} @@ -171,7 +171,7 @@ Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Check Postcondition PmJob Exists Log Checking that Pm Job exists Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} ${output}= Output response Set Suite Variable ${response} ${output} @@ -222,7 +222,7 @@ Check HTTP Response Header Contains Link GET individual NFV-MANO Performance Job Log Trying to get a Pm Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -230,7 +230,7 @@ GET individual NFV-MANO Performance Job GET individual NFV-MANO Performance Job with invalid resource identifier Log Trying to perform a negative get, using erroneous PM Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -238,7 +238,7 @@ GET individual NFV-MANO Performance Job with invalid resource identifier Send Delete request for individual NFV-MANO Performance Job Log Trying to delete an existing PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -246,7 +246,7 @@ Send Delete request for individual NFV-MANO Performance Job Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Log Trying to perform a negative delete, using erroneous PM Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -254,7 +254,7 @@ Send Delete request for individual NFV-MANO Performance Job with invalid resourc Send Post request for individual NFV-MANO Performance Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -262,7 +262,7 @@ Send Post request for individual NFV-MANO Performance Job Send Put request for individual NFV-MANO Performance Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -274,7 +274,7 @@ Send Patch request for individual NFV-MANO Performance Job Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} @@ -287,7 +287,7 @@ Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json ${body}= Format String ${template} callbackUri=${callback_uri} @@ -318,7 +318,7 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job GET all Performance Thresholds Log Trying to get all thresholds present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -326,7 +326,7 @@ GET all Performance Thresholds GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFV-MANO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} ${output}= Output response Set Suite Variable ${response} ${output} @@ -334,37 +334,37 @@ GET Performance Thresholds with attribute-based filter GET Performance Thresholds with invalid attribute-based filter Log Trying to get thresholds present in the NFV-MANO with invalid filter Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response Set Suite Variable ${response} ${output} Send Post Request Create new Performance Threshold with unreachable notification endpoint Log Creating a new Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Check GET response from Unreachable Notification Endpoint ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} ${output}= Output response Set Suite Variable ${response} ${output} Send PUT Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -373,7 +373,7 @@ Send PUT Request for all Performance Thresholds Send PATCH Request for all Performance Thresholds Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds @@ -382,7 +382,7 @@ Send PATCH Request for all Performance Thresholds Send DELETE Request for all Performance Thresholds Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${output}= Output response Set Suite Variable ${response} ${output} @@ -390,7 +390,7 @@ Send DELETE Request for all Performance Thresholds Check Postcondition Threshold Exists Log Checking that Threshold exists Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} ${output}= Output response Set Suite Variable ${response} ${output} @@ -404,7 +404,7 @@ Check HTTP Response Body Thresholds match the requested attribute-based filter GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -412,28 +412,28 @@ GET Individual Performance Threshold GET individual Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Delete request for individual Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Performance Threshold Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} ${output}= Output response Set Suite Variable @{response} ${output} @@ -441,7 +441,7 @@ Send Post request for individual Performance Threshold Send Put request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -452,7 +452,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -467,7 +467,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"If-Match": "${invalid_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response @@ -481,7 +481,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -544,7 +544,7 @@ POST Threshold Crossed Notification Get Individual Performance Report Log Trying to get a performance report present in the NFV-MANOM Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -552,21 +552,21 @@ Get Individual Performance Report Get Individual Performance Report with invalid resource endpoint Log Trying to get a performance report with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Post request for Individual Performance Report Log Trying to create new performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Put request for Individual Performance Report Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -576,7 +576,7 @@ Send Put request for Individual Performance Report Send Patch request for Individual Performance Report Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -586,7 +586,7 @@ Send Patch request for Individual Performance Report Send Delete request for Individual Performance Report Log Trying to delete performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}": ${AUTHORIZATION_TOKEN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index 0be775d25..0271ff95b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -112,4 +112,4 @@ Configure Notification Forward Create Sessions Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file + Create Mock Session ${callback_uri} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json index b69b9f03f..632a66f0f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -8,5 +8,7 @@ "performanceMetricGroup": [], "collectionPeriod": 10, "reportingPeriod": 30 - }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json index 1162190f7..f0b9266c4 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -7,7 +7,8 @@ "simpleThresholdDetails": {{ "thresholdValue": 10, "hysteresis": 50 - }} - - }} + }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json index 901b75c2d..c2d9cf867 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json @@ -1,3 +1,4 @@ { - "callbackUri": "{callbackUri}" + "callbackUri": "{callbackUri}", + "authentication": "" } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json deleted file mode 100644 index 49d7da216..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModification.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "callbackUri":"{callbackUri}" -} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json new file mode 100644 index 000000000..c2d9cf867 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json @@ -0,0 +1,4 @@ +{ + "callbackUri": "{callbackUri}", + "authentication": "" +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json new file mode 100644 index 000000000..87ec0ab64 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a PM job. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "authentication": { + "type": "object", + "required": ["authType"], + "properties": { + "authType": { + "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "type": "array", + "items": { + "type": "string", + "enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] + } + }, + "paramsBasic": { + "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "userName": { + "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "type": "string" + } + } + }, + "paramsOauth2ClientCredentials": { + "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", + "type": "object", + "properties": { + "clientId": { + "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "clientPassword": { + "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} -- GitLab From 3f64a93f8d34b3f257acabd01d6a1c4de6ea95cf Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:42:54 +0500 Subject: [PATCH 185/211] consolidate all variables in variables.txt file --- .../NFVMANOPMKeywords.robot | 12 ++--- .../environment/IndividualPmJob.txt | 7 --- .../environment/individualThresholds.txt | 6 --- .../environment/notifications.txt | 12 ----- .../environment/pmJobs.txt | 5 -- .../environment/reports.txt | 7 --- .../environment/thresholds.txt | 4 -- .../environment/variables.txt | 52 ++++++++++++++++--- 8 files changed, 47 insertions(+), 58 deletions(-) delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt delete mode 100644 SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 19c6b5f89..dae4d96de 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -1,13 +1,7 @@ *** Settings *** Library String Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/pmJobs.txt -Resource environment/IndividualPmJob.txt -Resource environment/thresholds.txt -Resource environment/individualThresholds.txt -Resource environment/notifications.txt -Resource environment/reports.txt +Resource environment/variables.txt Library DependencyLibrary Library JSONLibrary Library OperatingSystem @@ -27,7 +21,7 @@ GET Performance Monitoring Jobs with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response @@ -46,7 +40,7 @@ GET Performance Monitoring Jobs with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${output}= Output response diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt deleted file mode 100644 index 6c35d79f8..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e -${erroneousPmJobId} erroneousPmJobId -${newPmJobId} newPmJobId -${response}= httpresponse -${OrigResponse}= httpresponse -${invalid_etag} invalid etag \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt deleted file mode 100644 index 1efba79c6..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt +++ /dev/null @@ -1,6 +0,0 @@ -*** Variables *** -${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${erroneousThresholdId} erroneousThresholdId -${newThresholdId} newThresholdId -${response}= httpresponse -${origResponse}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt deleted file mode 100644 index cd1193ae5..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt +++ /dev/null @@ -1,12 +0,0 @@ -*** Variables *** -${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - -${notification_request} [] -${notification_response} [] \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt deleted file mode 100644 index 30b6682ef..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${NEG_FILTER} criteriaPmJob=erroneousAttributeName -${fields} criteria,objectInstanceIds -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt deleted file mode 100644 index 6ac5f7c0b..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 -${erroneousReportId} erroneousReportId -${newReportId} newReportId -${response}= httpresponse -${OrigResponse}= httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt deleted file mode 100644 index a2b025eef..000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt +++ /dev/null @@ -1,4 +0,0 @@ -*** Variables *** -${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${FILTER_KO} criterias=erroneousFilter -${response}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index fe96b3c2a..81fa88e73 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -6,16 +6,16 @@ ${NFVMANO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 -${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint +#${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 @@ -25,16 +25,52 @@ ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} ${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${response} +${response} httpresponse ${objectInstanceIds} daca910b0-00d4f1a2b675d-604257e42 -${callbackResp} 127.0.0.1 \ No newline at end of file +${callbackResp} 127.0.0.1 + +### INDIVIDUAL PM JOBS VARIABLES ### +${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e +${erroneousPmJobId} erroneousPmJobId +${newPmJobId} newPmJobId +${OrigResponse}= httpresponse +${invalid_etag} invalid etag + +### INDIVIDUAL THRESHOLDS VARIABLES ### +${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${erroneousThresholdId} erroneousThresholdId +${newThresholdId} newThresholdId +#${origResponse}= httpresponse + +### NOTIFICATIONS VARIABLES ### +#${callback_endpoint} /endpoint +${callback_endpoint_fwd} /endpoint/check + +${notification_request} [] +${notification_response} [] + +### PM JOBS VARIABLES ### +${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${NEG_FILTER} criteriaPmJob=erroneousAttributeName +${fields} criteria,objectInstanceIds + +### REPORTS VARIABLES ### +#${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 +${erroneousReportId} erroneousReportId +${newReportId} newReportId +#${OrigResponse}= httpresponse + +### THRESHOLDS VARIABLES ### +${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${FILTER_KO} criterias=erroneousFilter -- GitLab From 665718ecb4b236eb7edbdcd2a6f353dc01102a8d Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:55:05 +0500 Subject: [PATCH 186/211] implement attribute-based filter keyword for GET method of thresholds --- .../NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot | 3 ++- .../NFVMANOPerformanceManagement-API/environment/variables.txt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index dae4d96de..6e10185a6 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -393,7 +393,8 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words}= Split String ${FILTER_OK} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] GET Individual Performance Threshold Log Trying to get a Threhsold present in the NFV-MANO diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 81fa88e73..6c4727ddd 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -74,3 +74,4 @@ ${newReportId} newReportId ### THRESHOLDS VARIABLES ### ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter +${SEPARATOR} = -- GitLab From b3c3f7dec3a23881ce6c807c9eae17015e0bac99 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:05:36 +0500 Subject: [PATCH 187/211] remove reference to old variable files --- .../IndividualPmJob.robot | 6 -- .../NFVMANOPMKeywords.robot | 75 ++++++++++++++++ .../Notifications.robot | 86 +------------------ .../PMJobs.robot | 8 -- .../Thresholds.robot | 2 - 5 files changed, 76 insertions(+), 101 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index 0059d50c4..6496b0b0d 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -1,11 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Resource environment/IndividualPmJob.txt Resource NFVMANOPMKeywords.robot -Resource ../NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual NFV-MANO Performance Job - Method not implemented diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index 6e10185a6..ee9902aaf 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -7,6 +7,10 @@ Library JSONLibrary Library OperatingSystem Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false Library MockServerLibrary +Library Process +Library BuiltIn +Library Collections + *** Keywords *** GET all NFV-MANO Performance Monitoring Jobs @@ -655,3 +659,74 @@ DELETE API Version with apiMajorVersion Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Trigger the availability of Performance Information (external action) + #do nothing + Log do nothing + +Trigger the cross of Performance Threshold (external action) + #do nothing + Log do nothing + +Check Performance Information Available Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Performance Information Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + +Configure Notification Performance Information Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Threshold Crossed Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri} diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index 0271ff95b..7a66218ba 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -1,15 +1,7 @@ *** Setting *** -Resource environment/notifications.txt -Resource environment/variables.txt +Resource NFVMANOPMKeywords.robot Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - *** Test Cases *** Performance Information Availability Notification @@ -37,79 +29,3 @@ Threshold Crossed Notification Trigger the cross of Performance Threshold (external action) Check Threshold Crossed Notification Http POST Request Body Json Schema Is ThresholdCrossedNotification Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is ThresholdCrossedNotification - - -*** Keywords *** -Trigger the availability of Performance Information (external action) - #do nothing - Log do nothing - -Trigger the cross of Performance Threshold (external action) - #do nothing - Log do nothing - -Check Performance Information Available Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Performance Information Available Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Threshold Crossed Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - - -Check Threshold Crossed Notification Http POST Request Body changeType attribute Is - [Arguments] ${type} - #do nothing - Log do nothing - - -Configure Notification Performance Information Available Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Threshold Crossed Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 10f6c6348..2e18fabaa 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -1,13 +1,5 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/pmJobs.txt Resource NFVMANOPMKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library MockServerLibrary *** Test Cases *** POST Create new NFV-MANO Performance Monitoring Job diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 8a23c8963..c7ccddb72 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -1,6 +1,4 @@ *** Settings *** -Resource environment/variables.txt # Generic Parameters -Resource environment/thresholds.txt Resource NFVMANOPMKeywords.robot *** Test Cases *** -- GitLab From 5058e2b8199a3ebd8b91065647edc8d6f49d711e Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Wed, 20 Oct 2021 11:29:19 +0500 Subject: [PATCH 188/211] changed phrasing of a keyword for better comprehensibility --- .../NFVMANOPMKeywords.robot | 6 +++--- SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index ee9902aaf..f95ecbb11 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -118,7 +118,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} -Send Post Request Create new NFV-MANO Performance Monitoring Job +Send Post Request to create new NFV-MANO Performance Monitoring Job Log Creating a new PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} @@ -130,8 +130,8 @@ Send Post Request Create new NFV-MANO Performance Monitoring Job ${output}= Output response Set Suite Variable ${response} ${output} -Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint - Log Creating a new PM Job +Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint + Log Creating a new PM Job for unreachable notification endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 2e18fabaa..0c795911b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -11,7 +11,7 @@ POST Create new NFV-MANO Performance Monitoring Job ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is successfully created on the NFV-MANO - Send Post Request Create new NFV-MANO Performance Monitoring Job + Send Post Request to create new NFV-MANO Performance Monitoring Job Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PmJob Check Postcondition PmJob Exists @@ -240,6 +240,6 @@ POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification E ... Config ID: Config_prod_NFV-MANO ... Applicability: Notification endpoint is unreachable by the NFV-MANO. ... Post-Conditions: none - Send Post Request Create new NFV-MANO Performance Monitoring Job for unreachable endpoint + Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails -- GitLab From a01ab1bd7a429b6a251f61dcb3fc9301db7d13f9 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Wed, 20 Oct 2021 11:48:42 +0500 Subject: [PATCH 189/211] update Content-Type header in PATCH requests or Individual PMJob and Threshold --- .../NFVMANOPMKeywords.robot | 7 +++++-- .../environment/variables.txt | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot index f95ecbb11..41dcec46b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -271,7 +271,7 @@ Send Put request for individual NFV-MANO Performance Job Send Patch request for individual NFV-MANO Performance Job Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint ${template}= Get File jsons/PmJobModifications.json @@ -283,7 +283,7 @@ Send Patch request for individual NFV-MANO Performance Job Send Patch request for individual NFV-MANO Performance Job - Etag mismatch Log Trying to perform a PATCH on PM Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint @@ -451,6 +451,7 @@ Send Put request for individual Performance Threshold Send Patch request for individual Performance Threshold Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} @@ -465,6 +466,7 @@ Send Patch request for individual Performance Threshold Send Patch request for individual Performance Threshold - Etag mismatch Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${invalid_etag}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} Check GET response from Notification Endpoint @@ -480,6 +482,7 @@ Send Patch request for individual Performance Threshold - Etag mismatch Send Patch request for individual Performance Threshold with unprocessable entity Log Trying to PUT threshold Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${origOutput}= Output response diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 6c4727ddd..15cacd5bc 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -10,6 +10,7 @@ ${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json +${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 -- GitLab From fc9ff7130a8e75256b7f5f06d414f52c1aa6632d Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:12:13 +0500 Subject: [PATCH 190/211] delete unused variables from variables.txt file --- .../environment/variables.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 15cacd5bc..bc36f6f1c 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -16,7 +16,7 @@ ${AUTH_USAGE} 1 ${FIELD_USAGE} 1 #${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + ${apiRoot} / ${apiMajorVersion} v1 @@ -26,8 +26,7 @@ ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} ${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + ${total_polling_time} 2 min ${polling_interval} 10 sec @@ -51,10 +50,10 @@ ${invalid_etag} invalid etag ${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${erroneousThresholdId} erroneousThresholdId ${newThresholdId} newThresholdId -#${origResponse}= httpresponse + ### NOTIFICATIONS VARIABLES ### -#${callback_endpoint} /endpoint + ${callback_endpoint_fwd} /endpoint/check ${notification_request} [] -- GitLab From 52e42e3b804badb76600794bf1726c764abf0e57 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Fri, 15 Oct 2021 13:04:33 +0500 Subject: [PATCH 191/211] update schemas and document version --- .../NFVMANOFaultManagement-API/Alarms.robot | 34 +- .../IndividualAlarm.robot | 16 +- .../IndividualSubscription.robot | 12 +- .../NotificationEndpoint.robot | 6 +- .../Notifications.robot | 6 +- .../SOL009-NFVMANOFaultManagement-API.json | 8388 ----------- .../SOL009-NFVMANOFaultManagement-API.yaml | 12122 ---------------- .../Subscriptions.robot | 32 +- .../schemas/AlarmModification.schema.json | 24 +- .../schemas/FmSubscription.schema.json | 20 +- .../schemas/FmSubscriptions.schema.json | 168 +- .../alarmClearedNotification.schema.json | 35 +- .../alarmListRebuiltNotification.schema.json | 35 +- .../schemas/alarmNotification.schema.json | 420 +- 14 files changed, 361 insertions(+), 20957 deletions(-) delete mode 100644 SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json delete mode 100644 SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml diff --git a/SOL009/NFVMANOFaultManagement-API/Alarms.robot b/SOL009/NFVMANOFaultManagement-API/Alarms.robot index 3e5a4f0b6..70e01f5eb 100644 --- a/SOL009/NFVMANOFaultManagement-API/Alarms.robot +++ b/SOL009/NFVMANOFaultManagement-API/Alarms.robot @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create fault management alarms on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get information about multiple alarms ... Test title: Get information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema of the returned alarms data structure ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get information about multiple alarms with filter ... Test title: Get information about multiple alarms with filter ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get information about multiple alarms with invalid attribute-based filtering par ... Test title: Get information about multiple alarms with invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about the alarm list as a Paged Response. ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about the alarm list because response is too big and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET information about alarms with attribute-based filter "id" ... Test title: GET information about alarms with attribute-based filter "id" ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET information about multiple alarms with attribute-based filter "managedObject ... Test title: GET information about multiple alarms with attribute-based filter "managedObjectId" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "managedObjectId" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ GET information about multiple alarms with attribute-based filter "eventType" ... Test title: GET information about multiple alarms with attribute-based filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET information about multiple alarms with attribute-based filter "probableCause ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ Get information about multiple alarms with malformed authorization token ... Test title: Get information about multiple alarms with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when using malformed authorization token ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -171,7 +171,7 @@ Get information about multiple alarms without authorization token ... Test title: Get information about multiple alarms without authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when omitting the authorization token ... Pre-conditions: none - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ GET information about multiple alarms with expired or revoked authorization toke ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about the alarm list fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify fault management alarms on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify fault management alarms on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ DELETE Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for fault management alarms on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot index e3ffa895a..f9fcd703c 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot @@ -13,7 +13,7 @@ POST Individual Alarm - Method not implemented ... Test title: POST Individual Alarm - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create fault management individual alarm on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get information about an fault management individual alarm ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get information about an fault management individual alarm - Not Found ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to test the retrieval of information about an individual alarm fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual Alarm - Method not implemented ... Test title: PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for fault management individual alarm on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Fault Management Individual Alarm ... Test title: PATCH Fault Management Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource, and perform a JSON schema validation of the returned alarm data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is modified. @@ -76,7 +76,7 @@ Modify an individual alarm resource - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set, and perform a JSON schema validation of the returned data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is not modified. @@ -90,7 +90,7 @@ Modify an individual alarm resource - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the resource was modified by another entity , and perform a JSON schema validation of the returned data structure. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Alarm is not modified. @@ -104,7 +104,7 @@ DELETE Individual Alarm - Method not implemented ... Test title: DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete fault management individual alarm on NFV-MANO. ... Pre-conditions: none - ... Reference: clause 7.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot index c0e603a97..bbae7b20e 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title: Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for fault management subscription on NFV-MANO ... Pre-conditions: none - ... Reference: clause 7.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription from NFV-MANO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Get Information about an individual subscription - Not Found ... Test title: Get Information about an individual subscription - Not Found ... Test objective: The objective is to test the retrieval of individual subscription from NFV-MANO alarms fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to test that DELETE method removes individual subscription on VNF ... Pre-conditions: The Subsbcription already exists - ... Reference: clause 7.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: subscription is deleted diff --git a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot index e6b9f8829..bb386db9a 100644 --- a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Alarm Notification ... Test title: Alarm Notification ... Test objective: The objective is to test that Alarm Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Alarm Cleared Notification ... Test title: Alarm Cleared Notification ... Test objective: The objective is to test that Alarm Cleared Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm cleared notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Alarm List Rebuilt Notification ... Test title: Alarm List Rebuilt Notification ... Test objective: The objective is to test that Alarm List Rebuilt Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for alarm list rebuilt notification is available in the NFV-MANO. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/Notifications.robot b/SOL009/NFVMANOFaultManagement-API/Notifications.robot index b931d33f2..16f21d195 100644 --- a/SOL009/NFVMANOFaultManagement-API/Notifications.robot +++ b/SOL009/NFVMANOFaultManagement-API/Notifications.robot @@ -14,7 +14,7 @@ NFV-MANO Fault Alarm Notification ... Test title: NFV-MANO Fault Alarm Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm Notification when a resource within an NFV-MANO instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, and a subscription for fault alarm notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ NFV-MANO Fault Alarm Cleared Notification ... Test title: NFV-MANO Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm Cleared Notification when a faulty resource within an NFV-MANO instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ NFV-MANO Fault Alarm List Rebuilt Notification ... Test title: NFV-MANO Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of NFV-MANO Fault Alarm List Rebuilt Notification when the NFV-MANO decides to rebuild the list of its NFV-MANO alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NFV-MANO instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available. - ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json b/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json deleted file mode 100644 index cc8839c02..000000000 --- a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.json +++ /dev/null @@ -1,8388 +0,0 @@ -{ - "openapi": "3.0.2", - "info": { - "version": "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1", - "title": "SOL009 - NFV-MANO Fault Management interface", - "description": "SOL009 - NFV-MANO Fault Management interface\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 009 V3.3.1", - "url": "https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf" - }, - "servers": [ - { - "url": "http://127.0.0.1/nfvmanofm/v1" - }, - { - "url": "https://127.0.0.1/nfvmanofm/v1" - } - ], - "paths": { - "/api_versions": { - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "get": { - "summary": "Retrieve API version information", - "description": "The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported.\n", - "responses": { - "200": { - "description": "200 OK\nAPI version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents API version information.\n", - "type": "object", - "required": [ - "uriPrefix", - "apiVersions" - ], - "properties": { - "uriPrefix": { - "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", - "type": "string" - }, - "apiVersions": { - "description": "Version(s) supported for the API signaled by the uriPrefix attribute.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 9.1 (SOL013).\n", - "type": "string" - }, - "isDeprecated": { - "description": "If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false).\nA deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body.\n", - "type": "boolean" - }, - "retirementDate": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "The used API version.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "413": { - "description": "413 PAYLOAD TOO LARGE\nIf the payload body of a request is larger than the amount of data the API producer is willing or able to process, it shall respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for closing the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "414": { - "description": "414 URI TOO LONG\nIf the request URI of a request is longer than the API producer is willing or able to process, it shall respond with this response code. This condition can e.g. be caused by passing long queries in the request URI of a GET request. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "416": { - "description": "416 Range Not Satisfiable\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "429": { - "description": "429 TOO MANY REQUESTS\nIf the API consumer has sent too many requests in a defined period of time and the API producer is able to detect that condition (\"rate limiting\"), the API producer shall respond with this response code, following the provisions in IETF RFC 6585 [17] for the use of the \"Retry-After\" HTTP header. The \"ProblemDetails\" structure shall be provided and shall include in the \"detail\" attribute more information about the source of the problem.\nThe period of time and allowed number of requests are configured within the API producer by means outside the scope of the present document.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/alarms": { - "get": { - "description": "Get Alarm List. The client can use this method to retrieve information about the alarm list. This method shall follow the provisions specified in the tables 7.5.3.3.2-1 and 7.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "description": "Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "nextpage_opaque_marker", - "description": "Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when information about zero or more alarms has been queried successfully. The response body shall contain in an array the representations of zero or more alarms as defined in clause 7.6.2.4. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/alarms/{alarmId}": { - "parameters": [ - { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "get": { - "description": "The client can use this method to read an individual alarm. This method shall follow the provisions specified in the tables 7.5.4.3.2-1 and 7.5.4.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when information about an individual alarm has been read successfully. The response body shall contain a representation of the individual alarm\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "patch": { - "description": "This method modifies an \"Individual alarm\" resource. This method shall follow the provisions specified in the tables 7.5.4.3.4-1 and 7.5.4.3.4-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The parameter for the alarm modification, as defined in clause 7.6.2.8. The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "200 OK\nShall be returned when the request has been accepted and completed. ì The response body shall contain attribute modifications for an \"Individual alarm\" resource (see clause 7.6.2.4).\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "409": { - "description": "409 CONFLICT\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "412": { - "description": "412 PRECONDITION FAILED\nError: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "Subscribe. The POST method creates a new subscription. This method shall follow the provisions specified in the tables 7.5.5.3.1-1 and 7.5.5.3.1-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new \"Individual subscription\" resource as defined in clause 7.5.6 shall have been created. This method shall not trigger any notification. Creation of two \"Individual subscription\" resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the API consumer, and might make sense only in very rare use cases. Consequently, the NFV-MANO functional entity may either allow creating a new \"Individual subscription\" resource if another \"Individual subscription\" resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate \"Individual subscription\" resource (in which case it shall return a \"303 See Other\" response code referencing the existing \"Individual subscription\" resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Details of the subscription to be created, as defined in clause 7.6.2.2.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "201 CREATED\nShall be returned when the subscription has been created successfully. The response body shall contain a representation of the created \"Individual subscription\" resource. The HTTP response shall include a \"Location:\"\" HTTP header that points to the created \"Individual subscription\" resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "schema": { - "type": "string", - "format": "url", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "303": { - "description": "303 See Other\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\nThe client can use this method to retrieve the list of active subscriptions for NFV-MANO functional entity alarms subscribed by the client. It can be used e.g. for resynchronization after error situations. This method shall follow the provisions specified in the tables 7.5.5.3.2-1 and 7.5.5.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "description": "Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "nextpage_opaque_marker", - "description": "Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nShall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new \"Individual subscription\" resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "get": { - "description": "Query Subscription Information. The client can use this method for reading an individual subscription for NFV-MANO functional entity alarms subscribed by the client. This method shall follow the provisions specified in the tables 7.5.6.3.2-1 and 7.5.6.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "delete": { - "description": "Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.5.6.3.5-1 and 7.5.6.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion.\n", - "parameters": [ - { - "name": "Version", - "description": "Version of the API requested to use when responding to this request.\n", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235.\n", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "204 NO CONTENT\nShall be returned when the \"Individual subscription\" resource has been deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - } - }, - "400": { - "description": "400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "401": { - "description": "401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "403": { - "description": "403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "404": { - "description": "404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "405": { - "description": "405 METHOD NOT ALLOWED\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "406": { - "description": "406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "422": { - "description": "422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "500": { - "description": "500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "503": { - "description": "503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "504": { - "description": "504 GATEWAY TIMEOUT\nIf the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } - } - }, - "components": { - "parameters": { - "alarmId": { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "subscriptionId": { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new \"Individual subscription\" resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - }, - "schemas": { - "FmSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - }, - "AlarmModifications": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - }, - "FmNotificationsFilter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "requestBodies": { - "AlarmModifications": { - "description": "The parameter for the alarm modification, as defined in clause 7.6.2.8. The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - }, - "required": true - }, - "FmSubscriptionRequest": { - "description": "Details of the subscription to be created, as defined in clause 7.6.2.2.\n", - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription request related to notifications about NFV-MANO faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "required": true - } - }, - "responses": { - "Alarms.Get": { - "description": "200 OK\nShall be returned when information about zero or more alarms has been queried successfully. The response body shall contain in an array the representations of zero or more alarms as defined in clause 7.6.2.4. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "Alarm.Get": { - "description": "200 OK\nShall be returned when information about an individual alarm has been read successfully. The response body shall contain a representation of the individual alarm\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "associatedFaultyInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "Alarm.Patch": { - "description": "200 OK\nShall be returned when the request has been accepted and completed. ì The response body shall contain attribute modifications for an \"Individual alarm\" resource (see clause 7.6.2.4).\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - } - }, - "subscriptions.post.201": { - "description": "201 CREATED\nShall be returned when the subscription has been created successfully. The response body shall contain a representation of the created \"Individual subscription\" resource. The HTTP response shall include a \"Location:\"\" HTTP header that points to the created \"Individual subscription\" resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "schema": { - "type": "string", - "format": "url", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "subscriptions.get.200": { - "description": "200 OK\nShall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.6.2.3. If the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "Link": { - "description": "Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "subscription.get.200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "subscription.delete.204": { - "description": "204 NO CONTENT\nShall be returned when the \"Individual subscription\" resource has been deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "schema": { - "type": "string", - "minimum": 0, - "maximum": 1 - } - }, - "Version": { - "description": "Version of the API used in the response.\n", - "schema": { - "type": "string", - "minimum": 1, - "maximum": 1 - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml b/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml deleted file mode 100644 index 5f0cf5240..000000000 --- a/SOL009/NFVMANOFaultManagement-API/SOL009-NFVMANOFaultManagement-API.yaml +++ /dev/null @@ -1,12122 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Fault Management interface - description: > - SOL009 - NFV-MANO Fault Management interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 009 V3.3.1 - url: >- - https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf -servers: - - url: 'http://127.0.0.1/nfvmanofm/v1' - - url: 'https://127.0.0.1/nfvmanofm/v1' -paths: - /api_versions: - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: false - schema: - type: string - - name: Authorization - description: 'The authorization token for the request. Reference: IETF RFC 7235' - in: header - required: false - schema: - type: string - get: - summary: Retrieve API version information - description: > - The GET method reads API version information. This method shall follow - the provisions specified in table 4.6.3.3.3.2-1 for request and response - data structures, and response codes. URI query parameters are not - supported. - responses: - '200': - description: > - 200 OK - - API version information was read successfully. The response body - shall contain 4.4 API version information, as defined in clause - 4.4.1.13. - content: - application/json: - schema: - description: | - This type represents API version information. - type: object - required: - - uriPrefix - - apiVersions - properties: - uriPrefix: - description: > - Specifies the URI prefix for the API, in the following - form {apiRoot}/{apiName}/{apiMajorVersion}/. - type: string - apiVersions: - description: > - Version(s) supported for the API signaled by the uriPrefix - attribute. - type: array - items: - type: object - required: - - version - properties: - version: - description: > - Identifies a supported version. The value of the - version attribute shall be a version identifier as - specified in clause 9.1 (SOL013). - type: string - isDeprecated: - description: > - If such information is available, this attribute - indicates whether use of the version signaled by the - version attribute is deprecated (true) or not - (false). - - A deprecated version is still supported by the API - producer but is recommended not to be used any - longer. When a version is no longer supported, it - does not appear in the response body. - type: boolean - retirementDate: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: The used API version. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '413': - description: > - 413 PAYLOAD TOO LARGE - - If the payload body of a request is larger than the amount of data - the API producer is willing or able to process, it shall respond - with this response code, following the provisions in IETF RFC 7231 - for the use of the "Retry-After" HTTP header and for closing the - connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '414': - description: > - 414 URI TOO LONG - - If the request URI of a request is longer than the API producer is - willing or able to process, it shall respond with this response - code. This condition can e.g. be caused by passing long queries in - the request URI of a GET request. The "ProblemDetails" structure may - be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '416': - description: | - 416 Range Not Satisfiable - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '429': - description: > - 429 TOO MANY REQUESTS - - If the API consumer has sent too many requests in a defined period - of time and the API producer is able to detect that condition ("rate - limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the - "Retry-After" HTTP header. The "ProblemDetails" structure shall be - provided and shall include in the "detail" attribute more - information about the source of the problem. - - The period of time and allowed number of requests are configured - within the API producer by means outside the scope of the present - document. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /alarms: - get: - description: > - Get Alarm List. The client can use this method to retrieve information - about the alarm list. This method shall follow the provisions specified - in the tables 7.5.3.3.2-1 and 7.5.3.3.2-2 for URI query parameters, - request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about zero or more alarms has - been queried successfully. The response body shall contain in an - array the representations of zero or more alarms as defined in - clause 7.6.2.4. If the "filter" URI parameter was supplied in the - request, the data in the response body shall have been transformed - according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL - 013. If the NFV-MANO functional entity supports alternative 2 - (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this - resource, inclusion of the Link HTTP header in this response shall - follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - managedObjectId: - description: > - An identifier with the intention of being globally - unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a - managed object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need - not be globally unique. Representation: string of - variable length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in - the attribute CorrelatedAlarmId are caused by this - fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/alarms/{alarmId}': - parameters: - - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the - "id" attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - required: true - schema: - type: string - get: - description: > - The client can use this method to read an individual alarm. This method - shall follow the provisions specified in the tables 7.5.4.3.2-1 and - 7.5.4.3.2-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when information about an individual alarm has - been read successfully. The response body shall contain a - representation of the individual alarm - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted - values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence - of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - patch: - description: > - This method modifies an "Individual alarm" resource. This method shall - follow the provisions specified in the tables 7.5.4.3.4-1 and - 7.5.4.3.4-2 for URI query parameters, request and response data - structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - requestBody: - description: > - The parameter for the alarm modification, as defined in clause - 7.6.2.8. The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that - can be modified are included in the "AlarmModifications" data - type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - required: true - responses: - '200': - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. - ì The response body shall contain attribute modifications for an - "Individual alarm" resource (see clause 7.6.2.4). - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents attribute modifications for an - "Individual alarm" resource, i.e. modifications to a resource - representation based on the "Alarm" data type. The attributes - of "Alarm" that can be modified are included in the - "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". - Permitted values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '409': - description: | - 409 CONFLICT - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '412': - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not - fulfilled. Typically, this is due to an ETag mismatch, indicating - that the resource was modified by another entity. The response body - should contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe. The POST method creates a new subscription. This method shall - follow the provisions specified in the tables 7.5.5.3.1-1 and - 7.5.5.3.1-2 for URI query parameters, request and response data - structures, and response codes. As the result of successfully executing - this method, a new "Individual subscription" resource as defined in - clause 7.5.6 shall have been created. This method shall not trigger any - notification. Creation of two "Individual subscription" resources with - the same callbackURI and the same filter can result in performance - degradation and will provide duplicates of notifications to the API - consumer, and might make sense only in very rare use cases. - Consequently, the NFV-MANO functional entity may either allow creating a - new "Individual subscription" resource if another "Individual - subscription" resource with the same filter and callbackUri already - exists (in which case it shall return the "201 Created" response code), - or may decide to not create a duplicate "Individual subscription" - resource (in which case it shall return a "303 See Other" response code - referencing the existing "Individual subscription" resource with the - same filter and callbackUri). - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - schema: - type: string - requestBody: - description: > - Details of the subscription to be created, as defined in clause - 7.6.2.2. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: - An alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization - which the API consumer is willing to accept when - receiving a notification. Permitted values: * BASIC: In - every HTTP request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to - the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the - contained information has not been provisioned out of - band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out - of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType - is "OAUTH2_CLIENT_CREDENTIALS" and the contained - information has not been provisioned out of band. Shall - be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - clientPassword: - description: > - Client password to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been - provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be - the same as the clientId and clientPassword that are - used to obtain authorization for API requests. - Client credentials may differ between subscriptions. - The value of clientPassword should be generated by a - random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: true - responses: - '201': - description: > - 201 CREATED - - Shall be returned when the subscription has been created - successfully. The response body shall contain a representation of - the created "Individual subscription" resource. The HTTP response - shall include a "Location:"" HTTP header that points to the created - "Individual subscription" resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Location: - description: | - The resource URI of the created subscription resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - * AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled exactly - as the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '303': - description: | - 303 See Other - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - The client can use this method to retrieve the list of active - subscriptions for NFV-MANO functional entity alarms subscribed by the - client. It can be used e.g. for resynchronization after error - situations. This method shall follow the provisions specified in the - tables 7.5.5.3.2-1 and 7.5.5.3.2-2 for URI query parameters, request and - response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - - name: filter - description: > - Attribute-based filtering expression according to clause 5.2 of ETSI - GS NFV-SOL 013. The NFV-MANO functional entity shall support - receiving this parameter as part of the URI query string. The API - consumer may supply this parameter. All attribute names that appear - in the FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - expression. - in: query - required: false - schema: - type: string - - name: nextpage_opaque_marker - description: > - Marker to obtain the next page of a paged response. Shall be - supported by the NFV-MANO functional entity if the entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS - NFV-SOL 013 for this resource. - in: query - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block - that invokes the method, i.e. zero or more representations of FM - subscriptions as defined in clause 7.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in - clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional - entity supports alternative 2 (paging) according to clause 5.4.2.1 - of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP - header in this response shall follow the provisions in clause - 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document, see clause 4.7.2.1. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. - It shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of - the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted - values: * AlarmNotification * - AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled - exactly as the names of the notification types to - facilitate automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for - operator attention. * CRITICAL: The Critical - severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates - the detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates - the clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types - of events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in - this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new "Individual subscription" resource. - It can also be retrieved from the "id" attribute in the payload body - of that response. - in: path - required: true - schema: - type: string - get: - description: > - Query Subscription Information. The client can use this method for - reading an individual subscription for NFV-MANO functional entity alarms - subscribed by the client. This method shall follow the provisions - specified in the tables 7.5.6.3.2-1 and 7.5.6.3.2-2 for URI query - parameters, request and response data structures, and response codes. - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '200': - description: > - 200 OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table - 7.6.3.2-1. At a particular nesting level in the filter - structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is - an array, the attribute shall match if at least one of the - values in the array matches (logical "or" between the - values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - * AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of - the "notificationTypes" attribute are spelled exactly - as the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * - COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated - with degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is - associated with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - delete: - description: "Terminate Subscription. This method terminates an individual subscription. This method shall follow the provisions specified in the tables 7.5.6.3.5-1 and 7.5.6.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion.\n" - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - in: header - required: true - schema: - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235. - in: header - required: false - schema: - type: string - responses: - '204': - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has - been deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - '400': - description: > - 400 BAD REQUEST - - 400 code can be returned in the following specified cases, the - specific cause has to be proper specified in the "ProblemDetails" - structure to be returned. - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or the payload body - contains a syntactically incorrect data structure), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - If the response to a GET request which queries a container resource - would be so big that the performance of the API producer is - adversely affected, and the API producer does not support paging for - the affected resource, it shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include in - the "detail" attribute more information about the source of the - problem. - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - The use of this HTTP error response code described above is - applicable to the use of the OAuth 2.0 for the authorization of API - requests and notifications, as defined in clauses 4.5.3.3 and - 4.5.3.4. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '401': - description: > - 401 UNAUTHORIZED - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '403': - description: > - 403 FORBIDDEN - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '404': - description: > - 404 NOT FOUND - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - - This response code is not appropriate in case the resource addressed - by the URI is a container resource which is designed to contain - child resources, but does not contain any child resource at the time - the request is received. For a GET request to an existing empty - container resource, a typical response contains a 200 OK response - code and a payload body with an empty array. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '405': - description: > - 405 METHOD NOT ALLOWED - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '406': - description: > - 406 NOT ACCEPTABLE - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '422': - description: > - 422 UNPROCESSABLE ENTITY - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. - - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '500': - description: > - 500 INTERNAL SERVER ERROR - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond with this response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '503': - description: > - 503 SERVICE UNAVAILABLE - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for the alternative to refuse - the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - '504': - description: > - 504 GATEWAY TIMEOUT - - If the API producer encounters a timeout while waiting for a - response from an upstream server (i.e. a server that the API - producer communicates with when fulfilling a request), it should - respond with this response code. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - maximum: 1 - minimum: 0 - Version: - description: | - Version of the API used in the response. - schema: - type: string - maximum: 1 - minimum: 1 - content: - application/json: - schema: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI -components: - parameters: - alarmId: - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the "id" - attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - required: true - schema: - type: string - subscriptionId: - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response to - a POST request creating a new "Individual subscription" resource. It can - also be retrieved from the "id" attribute in the payload body of that - response. - in: path - required: true - schema: - type: string - schemas: - FmSubscriptionRequest: - description: > - This type represents a subscription request related to notifications - about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level - in the filter structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names - of the notification types to facilitate automated code - generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the - API consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall - be present if authType is "BASIC" and the contained information - has not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be - present if it has not been provisioned out of band. The - clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are - used to obtain authorization for API requests. Client - credentials may differ between subscriptions. The value of - clientPassword should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - FmSubscription: - description: > - This type represents a subscription related to notifications about VNF - faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level - in the filter structure, the following applies: All attributes shall - match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names - of the notification types to facilitate automated code - generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource using an absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - AlarmModifications: - description: > - This type represents attribute modifications for an "Individual alarm" - resource, i.e. modifications to a resource representation based on the - "Alarm" data type. The attributes of "Alarm" that can be modified are - included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted values: - * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - FmNotificationsFilter: - description: > - This type represents a subscription filter related to notifications - about NFV-MANO functional entity faults. It shall comply with the - provisions defined in table 7.6.3.2-1. At a particular nesting level in - the filter structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names of - the notification types to facilitate automated code generation - systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: | - Match VNF alarms with a perceived severity listed in this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator attention. * - CRITICAL: The Critical severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates that - the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing of - one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events that - trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated with - a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with degradation - in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - requestBodies: - AlarmModifications: - description: > - The parameter for the alarm modification, as defined in clause 7.6.2.8. - The Content-Type header shall be set to "application/merge-patch+json" - according to IETF RFC 7396. - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - required: true - FmSubscriptionRequest: - description: | - Details of the subscription to be created, as defined in clause 7.6.2.2. - content: - application/json: - schema: - description: > - This type represents a subscription request related to - notifications about NFV-MANO faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - required: true - responses: - Alarms.Get: - description: > - 200 OK - - Shall be returned when information about zero or more alarms has been - queried successfully. The response body shall contain in an array the - representations of zero or more alarms as defined in clause 7.6.2.4. If - the "filter" URI parameter was supplied in the request, the data in the - response body shall have been transformed according to the rules - specified in clause 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO - functional entity supports alternative 2 (paging) according to clause - 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link - HTTP header in this response shall follow the provisions in clause - 5.4.2.3 of ETSI GS NFV-SOL 013. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: > - An identifier with the intention of being globally - unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not - be globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of - a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with - an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: > - List of identifiers of other alarms correlated to this - fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - Alarm.Get: - description: > - 200 OK - - Shall be returned when information about an individual alarm has been - read successfully. The response body shall contain a representation of - the individual alarm - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - associatedFaultyInstanceId: - description: > - This type represents the identifier to reference a managed - object of a particular type. - type: object - properties: - type: - description: > - Indicates the type of managed object. Permitted values: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - - The "MANO_ENTITY COMPONENT" is only applicable if - attribute "manoEntityComponents" in "ManoEntity" is - supported by the API producer. - type: string - enum: - - MANO_ENTITY - - MANO_SERVICE - - MANO_SERVICE_IF - - CONSUMED_MANO_IF - - MANO_ENTITY_COMPONENT - objectId: - description: | - An identifier with the intention of being globally unique. - type: string - subObjectId: - description: > - An identifier that is unique for the respective type - within a NFV-MANO functional entity, but that need not be - globally unique. Representation: string of variable - length.. - type: string - required: - - type - - objectId - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level indicates - that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection - of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates - that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing - of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events - that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of - this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated - with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If true, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: | - List of identifiers of other alarms correlated to this fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - Alarm.Patch: - description: > - 200 OK - - Shall be returned when the request has been accepted and completed. ì - The response body shall contain attribute modifications for an - "Individual alarm" resource (see clause 7.6.2.4). - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - subscriptions.post.201: - description: > - 201 CREATED - - Shall be returned when the subscription has been created successfully. - The response body shall contain a representation of the created - "Individual subscription" resource. The HTTP response shall include a - "Location:"" HTTP header that points to the created "Individual - subscription" resource. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - Location: - description: | - The resource URI of the created subscription resource. - schema: - type: string - format: url - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscriptions.get.200: - description: > - 200 OK - - Shall be returned when the list of subscriptions has been queried - successfully. The response body shall contain in an array the - representations of all active subscriptions of the functional block that - invokes the method, i.e. zero or more representations of FM - subscriptions as defined in clause 7.6.2.3. If the "filter" URI - parameter was supplied in the request, the data in the response body - shall have been transformed according to the rules specified in clause - 5.2.2 of ETSI GS NFV-SOL 013. If the NFV-MANO functional entity supports - alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL - 013 for this resource, inclusion of the Link HTTP header in this - response shall follow the provisions in clause 5.4.2.3 of ETSI GS - NFV-SOL 013. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - Link: - description: > - Reference to other resources. Used for paging in the present - document, see clause 4.7.2.1. - schema: - type: string - minimum: 0 - maximum: 1 - content: - application/json: - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in - this attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: - An alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscription.get.200: - description: > - 200 OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - schema: - type: string - minimum: 1 - maximum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 - content: - application/json: - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about NFV-MANO functional entity faults. It - shall comply with the provisions defined in table 7.6.3.2-1. - At a particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: > - This type represents a link to a resource using an - absolute URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - subscription.delete.204: - description: > - 204 NO CONTENT - - Shall be returned when the "Individual subscription" resource has been - deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - minimum: 0 - maximum: 1 - Version: - description: | - Version of the API used in the response. - schema: - type: string - minimum: 1 - maximum: 1 \ No newline at end of file diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index b95d85947..ee81e065c 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -13,7 +13,7 @@ Create a new Fault Management alarm subscription ... Test title: Create a new fault management alarm subscription ... Test objective: The objective is to create a new fault management alarm subscription and perform a JSON schema validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: subscription is created @@ -28,7 +28,7 @@ Create a new alarm subscription - DUPLICATION ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: the NFV-MANO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -43,7 +43,7 @@ Create a new alarm subscription - NO DUPLICATION ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO not allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: the NFV-MANO does not allow to create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -58,7 +58,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: noe @@ -71,7 +71,7 @@ Retrieve a list of alarm subscriptions with filter ... Test title: Retrieve a list of alarm subscriptions with filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about active list subscriptions as a Paged Response ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about active list subscription to check that response is too big and perform a JSON schema validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -137,7 +137,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -179,7 +179,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: none - ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: Clause 7.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... RReference: clause 7.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... RReference: clause 7.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -205,7 +205,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -217,7 +217,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 7.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json index 8075efd71..bf71b534e 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json @@ -1,16 +1,12 @@ { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } + "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", + "type": "object", + "required": ["ackState"], + "properties": { + "ackState": { + "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", + "type": "string", + "enum": ["ACKNOWLEDGED"] } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json index f0d8052b1..ded3361e2 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json @@ -1,22 +1,18 @@ { "description": "This type represents a subscription related to notifications about VNF faults.\n", "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], + "required": ["id", "callbackUri", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", + "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", "type": "object", "properties": { "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n", "type": "array", "items": { "type": "string", @@ -74,16 +70,12 @@ "_links": { "description": "Links for this resource.\n", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -94,4 +86,4 @@ } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json index 56a8441cc..acf3ab550 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json @@ -1,95 +1,88 @@ { "type": "array", "items": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" + "description": "This type represents a subscription related to notifications about VNF faults.\n", + "type": "object", + "required": ["id", "callbackUri", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "notificationTypes": { + "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } } } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } } } @@ -97,4 +90,3 @@ } } } -} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json index 08131723d..f3cbf4fa2 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json @@ -18,16 +18,14 @@ "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n", "type": "string", - "enum": [ - "AlarmClearedNotification" - ] + "enum": ["AlarmClearedNotification"] }, "subscriptionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" }, @@ -41,40 +39,31 @@ "_links": { "description": "Links to resources related to this notification.\n", "type": "object", - "required": [ - "subscription", - "alarm" - ], + "required": ["subscription", "alarm"], "properties": { "subscription": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, "alarm": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json index bfe018df8..e0197151a 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json @@ -16,56 +16,45 @@ "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmListRebuiltNotification\" for this notification type.\n", "type": "string", - "enum": [ - "AlarmListRebuiltNotification" - ] + "enum": ["AlarmListRebuiltNotification"] }, "subscriptionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" }, "_links": { "description": "Links to resources related to this notification.\n", "type": "object", - "required": [ - "subscription", - "alarms" - ], + "required": ["subscription", "alarms"], "properties": { "subscription": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } }, "alarms": { - "description": "This type represents a link to a resource.\n", + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} diff --git a/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json b/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json index 1d31e7e34..d4b7b0108 100644 --- a/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json +++ b/SOL009/NFVMANOFaultManagement-API/schemas/alarmNotification.schema.json @@ -1,250 +1,206 @@ { - "name": "AlarmNotification", - "description": "Information of a VNF alarm.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents an alarm notification about VNF faults. This notification shall be triggered by the VNFM when: * An alarm has been created. * An alarm has been updated, e.g. if the severity of the alarm has changed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarm", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarm": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { + "description": "This type represents an alarm notification about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.2.5-1. This notification shall be triggered by the NFV-MANO functional entity when: -\tAn alarm has been created. -\tAn alarm has been updated, e.g. if the severity of the alarm has changed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "alarm", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", + "type": "string", + "enum": ["AlarmNotification"] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarm": { + "description": "The alarm data type encapsulates information about an alarm.\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "associatedFaultyInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", "type": "string" } }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "required": ["type", "objectId"] + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", + "type": "string", + "enum": ["UNACKNOWLEDGED", "ACKNOWLEDGED"] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "required": ["subscription"], + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } -} \ No newline at end of file +} -- GitLab From a68c8ac6fb96ec837ee8e873aeaa9084f8fb23d0 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:09:02 +0500 Subject: [PATCH 192/211] add error 422 test case in FM API --- .../FaultManagement-APIKeyword.robot | 125 ++++++++++-------- .../Subscriptions.robot | 27 +++- .../environment/variables.txt | 10 +- 3 files changed, 94 insertions(+), 68 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index 66a272224..d8596ba5b 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -17,7 +17,7 @@ ${original_etag} 1234 Send POST request for fault management Alarms log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -31,7 +31,7 @@ Check HTTP Response Status Code Is GET Fault Management Alarms Log Query NFV-MANO The GET method queries information about multiple alarms. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response @@ -48,7 +48,7 @@ Check HTTP Response Body Json Schema Is GET Fault Management Alarms With Filters Log Query NFV-MANO The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${alarm_filter}=${managedObjectId} ${outputResponse}= Output response @@ -57,7 +57,7 @@ GET Fault Management Alarms With Filters GET Fault Management Alarms With Invalid Filters Log Query NFV-MANO The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?${invalid_alarm_filter}=${managedObjectId} ${outputResponse}= Output response @@ -70,7 +70,7 @@ Check HTTP Response Header Contains Link PATCH Fault management Alarms log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse} = Output response Set Global Variable @{response} ${outputResponse} @@ -78,7 +78,7 @@ PATCH Fault management Alarms PUT Fault management Alarms log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -86,7 +86,7 @@ PUT Fault management Alarms DELETE Fault management Alarms log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -100,7 +100,7 @@ Check Postcondition NFV-MANO fault management alarms Exists Send POST request for fault management Individual Alarm log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -109,7 +109,7 @@ GET Fault Management Individual Alarm Log Query NFV-MANO The GET method queries information about an alarm. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${etag} Output response headers ETag @@ -120,7 +120,7 @@ GET Fault Management Individual Alarm PUT Fault Management Individual Alarm log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -135,7 +135,7 @@ PATCH Fault Management Individual Alarm log Trying to perform a PATCH. This method modifies an individual alarm resource Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -146,7 +146,7 @@ PATCH Fault Management Individual Alarm - precondition failed Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${original_etag[0]}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -157,7 +157,7 @@ PATCH Fault Management Individual Alarm Conflict Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Set Headers {"If-Match": "${Etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response @@ -166,7 +166,7 @@ PATCH Fault Management Individual Alarm Conflict DELETE Fault Management Individual Alarm log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -175,13 +175,24 @@ POST Subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} +POST Subscription with unreachable callbackUri + Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} + ${template}= Get File jsons/fmSubscriptionRequest.json + ${body}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + Check HTTP Response Header Contains Location ${opOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${opOccId} @@ -189,7 +200,7 @@ Check HTTP Response Header Contains Location Check PostCondition Subscription is created log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -199,7 +210,7 @@ POST Subscription Duplication permitted Pass Execution If ${NFVMANO_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} @@ -219,7 +230,7 @@ POST Subscription Duplication not permitted Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false @@ -228,7 +239,7 @@ POST Subscription Duplication not permitted Check Postcondition Subscription Resource Returned in Location Header Is Available Log Going to check postcondition - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${response['headers']['Location']} Integer response status 200 Log Received a 200 OK as expected @@ -241,7 +252,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab GET Subscriptions Log Get the list of active subscriptions Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -249,7 +260,7 @@ GET Subscriptions GET Subscriptions with filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -257,7 +268,7 @@ GET Subscriptions with filter GET Subscriptions with Invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -265,7 +276,7 @@ GET Subscriptions with Invalid filter PUT Subscriptions log Trying to perform a PUT Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -273,7 +284,7 @@ PUT Subscriptions PATCH Subscriptions log Trying to perform a PATCH Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -281,7 +292,7 @@ PATCH Subscriptions DELETE Subscriptions log Trying to perform a DELETE Subscriptions. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -289,7 +300,7 @@ DELETE Subscriptions POST Individual Subscription log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -297,7 +308,7 @@ POST Individual Subscription GET Individual Subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -305,7 +316,7 @@ GET Individual Subscription PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -313,7 +324,7 @@ PUT Individual Subscription PATCH Individual Subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -321,21 +332,21 @@ PATCH Individual Subscription DELETE Individual Subscription log Trying to perform a DELETE. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} Check Individual Subscription deleted Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} Integer response status 404 GET Fault Management Alarms with filter "id" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "id". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?id=${alarmId} ${outputResponse}= Output response @@ -347,7 +358,7 @@ Check PostCondition HTTP Response Body alarms Matches the requested attribute-ba GET Fault Management Alarms with filter "managedObjectId" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "NFV-MANOcInstanceIds". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?NFV-MANOcInstanceIds=${managedObjectId} ${outputResponse}= Output response @@ -359,49 +370,49 @@ Check PostCondition HTTP Response Body alarms Matches the requested attribute-ba GET Fault Management Alarms with filter "eventType" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "eventType". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?eventType=${eventType} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['eventType']} ${eventType} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['eventType']} ${eventType} END GET Fault Management Alarms with filter "perceivedSeverity" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "perceivedSeverity". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?perceivedSeverity=${perceivedSeverity} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} END GET Fault Management Alarms with filter "probableCause" Log Query NFV-MANO The GET method queries information about multiple alarms with filters "probableCause". Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms?probableCause=${probableCause} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['probableCause']} ${probableCause} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['probableCause']} ${probableCause} END Get subscriptions with filter "id" Log Get the list of active subscriptions using a filter "id" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?id=${subscription_id} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -412,60 +423,60 @@ Check PostCondition HTTP Response Body Subscription Matches the requested attrib Get subscriptions with filter "filter_notificationTypes" Log Get the list of active subscriptions using a filter "filter.notificationTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.notificationTypes=${notification_type} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} END Get subscriptions with filter "filter_perceivedSeverities" Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} END Get subscriptions with filter "filter_eventTypes" Log Get the list of active subscriptions using a filter "filter.eventTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.eventTypes=${eventType} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} END Get subscriptions with filter "filter_probableCauses" Log Get the list of active subscriptions using a filter "filter.probableCauses" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.probableCauses=${probableCause} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} END GET Fault Management Alarms with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response @@ -484,7 +495,7 @@ GET Fault Management Alarms with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index ee81e065c..fb9e7b27b 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -8,9 +8,9 @@ Library JSONLibrary Library JSONSchemaLibrary schemas/ *** Test Cases *** -Create a new Fault Management alarm subscription +POST Create a new Fault Management alarm subscription [Documentation] Test ID:8.3.3.3.1 - ... Test title: Create a new fault management alarm subscription + ... Test title: POST Create a new fault management alarm subscription ... Test objective: The objective is to create a new fault management alarm subscription and perform a JSON schema validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -23,9 +23,9 @@ Create a new Fault Management alarm subscription Check HTTP Response Header Contains Location Check PostCondition Subscription is created -Create a new alarm subscription - DUPLICATION +POST Create a new alarm subscription - DUPLICATION [Documentation] Test ID: 8.3.3.3.2 - ... Test title: Create a new alarm subscription - DUPLICATION + ... Test title: POST Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -38,9 +38,9 @@ Create a new alarm subscription - DUPLICATION Check HTTP Response Header Contains Location Check Postcondition FaultManagement Subscription Is Set -Create a new alarm subscription - NO DUPLICATION +POST Create a new alarm subscription - NO DUPLICATION [Documentation] Test ID: 8.3.3.3.3 - ... Test title: Create a new alarm subscription - NO DUPLICATION + ... Test title: POST Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV-MANO not allowing duplication and perform a JSON schema validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -222,4 +222,17 @@ DELETE subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: none DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +POST Create a new Fault Management alarm subscription - Unprocessable entity + [Documentation] Test ID:8.3.3.3.17 + ... Test title: POST Create a new fault management alarm subscription - Unprocessable entity + ... Test objective: The objective is to test that a new fault management alarm subscription is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: No subscription with the same filter and callbackUri exists. + ... Reference: clause 7.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + POST Subscription with Unreachable callbackUri + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index e230f9438..eb348e14c 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -2,13 +2,14 @@ ${NFVMANO_HOST} localhost # Hostname of the NFV-MANO ${NFVMANO_PORT} 8080 # Listening port of the NFV-MANO ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ== +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ== ${CONTENT_TYPE} application/json ${ACCEPT} application/json ${ACCEPT_JSON} application/json ${AUTH_USAGE} 1 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${apiRoot} / ${apiName} nfvmanofm ${apiMajorVersion} v1 @@ -36,8 +37,9 @@ ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${faultyResourceType} ${notification_type} AlarmNotification -${callback_uri} http://localhost ${callback_port} 9091 +${callback_uri} http://localhost:${callback_port} +${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check ${callback_endpoint_error} /endpoint_404 -- GitLab From 5aa74910c9d88fc2c4e8c66beebdb96871c455c9 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 11:01:14 +0500 Subject: [PATCH 193/211] comment out unused variabes from FM API variables.txt file --- .../environment/variables.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index eb348e14c..fb12e380f 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -27,14 +27,14 @@ ${invalid_alarm_filter} badFilter ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${Etag}= an etag -${Etag_modified}= a modified etag +#${Etag_modified}= a modified etag ${NFVMANO_DUPLICATION} 1 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -${faultyResourceType} +#${faultyResourceType} ${notification_type} AlarmNotification ${callback_port} 9091 @@ -42,14 +42,14 @@ ${callback_uri} http://localhost:${callback_port} ${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec +#${callback_endpoint_error} /endpoint_404 +#${sleep_interval} 20s +#${total_polling_time} 2 min +#${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +#${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callbackResp} 127.0.0.1 \ No newline at end of file -- GitLab From b616363f7d45ea6a61cc562032f7c6cbc603012f Mon Sep 17 00:00:00 2001 From: hammad zafar Date: Tue, 19 Oct 2021 14:44:57 +0500 Subject: [PATCH 194/211] fixed a comment for better understanding --- .../NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index d8596ba5b..f306f5281 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -227,7 +227,7 @@ Check Postcondition FaultManagement Subscription Is Set POST Subscription Duplication not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions - Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test + Pass Execution If ${NFVMANO_DUPLICATION} == 1 NVFO is permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}} -- GitLab From fdcacc3a0861a8873e44bc1f89b130e16a0a7d62 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 16:23:27 +0500 Subject: [PATCH 195/211] consolidate all keywords in one FM keywords file --- .../NFVMANOFaultManagement-API/Alarms.robot | 7 +- .../ApiVersion.robot | 88 +------ .../FaultManagement-APIKeyword.robot | 223 +++++++++++++++++- .../IndividualAlarm.robot | 6 - .../IndividualSubscription.robot | 6 +- .../NotificationEndpoint.robot | 56 +---- .../Notifications.robot | 109 +-------- .../Subscriptions.robot | 6 - .../environment/variables.txt | 6 +- 9 files changed, 226 insertions(+), 281 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/Alarms.robot b/SOL009/NFVMANOFaultManagement-API/Alarms.robot index 70e01f5eb..36cc36a50 100644 --- a/SOL009/NFVMANOFaultManagement-API/Alarms.robot +++ b/SOL009/NFVMANOFaultManagement-API/Alarms.robot @@ -1,10 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Resource FaultManagement-APIKeyword.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library OperatingSystem +Resource FaultManagement-APIKeyword.robot *** Test Cases *** POST Alarms - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot index 85f1048e1..c7f5aff28 100644 --- a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource FaultManagement-APIKeyword.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot index f306f5281..4d1427ddf 100644 --- a/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL009/NFVMANOFaultManagement-API/FaultManagement-APIKeyword.robot @@ -5,12 +5,12 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem - - +Library Collections +Library MockServerLibrary Library Process -*** Variables *** -${original_etag} 1234 +# *** Variables *** +# ${original_etag} 1234 *** Keywords *** @@ -499,4 +499,217 @@ GET Fault Management Alarms with expired or revoked authorization token Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file + Set Suite Variable ${response} ${output} + +Check resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body FmSubscription.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +Post Alarm Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} managedObjectId=${managedObjectId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Alarm Cleared Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmClearedNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Alarm List Rebuilt Notification + log Trying to perform a POST to get notifications + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/AlarmListRebuiltNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Trigger the fault of a virtualised resource in the NFV-MANO instance (external action) + #do nothing + Log do nothing + +Trigger the clear of a faulty virtualised resource in the NFV-MANO instance (external action) + #do nothing + Log do nothing + +Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) + #do nothing + Log do nothing + +Check Alarm List Rebuilt Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Alarm List Rebuilt Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm List Rebuilt Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Alarm Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Alarm Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Alarm cleared Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Check Alarm cleared Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Alarm Cleareance Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + + +Check Alarm Clerance Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + + +Configure Notification Alarm List Rebuilt Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Alarm Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Alarm Cleareance Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot index f9fcd703c..2012cba47 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualAlarm.robot @@ -1,11 +1,5 @@ *** Settings *** -Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} -Library OperatingSystem -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library DependencyLibrary *** Test Cases *** POST Individual Alarm - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot index bbae7b20e..95766e74f 100644 --- a/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOFaultManagement-API/IndividualSubscription.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Resource FaultManagement-APIKeyword.robot -Library JSONLibrary -Library JSONSchemaLibrary schemas/ -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} +Resource FaultManagement-APIKeyword.robot *** Test Cases *** Post Individual Subscription - Method not implemented diff --git a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot index bb386db9a..8d5adef58 100644 --- a/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOFaultManagement-API/NotificationEndpoint.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String +Resource FaultManagement-APIKeyword.robot Suite Setup Check resource existence and get CallbackUri *** Test Cases *** @@ -43,52 +38,3 @@ Alarm List Rebuilt Notification ... Post-Conditions: none Post Alarm List Rebuilt Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body FmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Post Alarm Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} managedObjectId=${managedObjectId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Post Alarm Cleared Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmClearedNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} alarmId=${alarmId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Post Alarm List Rebuilt Notification - log Trying to perform a POST to get notifications - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/AlarmListRebuiltNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - diff --git a/SOL009/NFVMANOFaultManagement-API/Notifications.robot b/SOL009/NFVMANOFaultManagement-API/Notifications.robot index 16f21d195..c1ca7346f 100644 --- a/SOL009/NFVMANOFaultManagement-API/Notifications.robot +++ b/SOL009/NFVMANOFaultManagement-API/Notifications.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library MockServerLibrary -Library Process -Library OperatingSystem -Library Collections +Resource FaultManagement-APIKeyword.robot Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true @@ -47,106 +43,3 @@ NFV-MANO Fault Alarm List Rebuilt Notification Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) Check Alarm list rebuilt Notification Http POST Request Body Json Schema Is alarmListRebuiltNotification Check Alarm list rebuilt Notification Http POST Request Body notificationType attribute Is alarmListRebuiltNotification - - -*** Keywords *** -Trigger the fault of a virtualised resource in the NFV-MANO instance (external action) - #do nothing - Log do nothing - -Trigger the clear of a faulty virtualised resource in the NFV-MANO instance (external action) - #do nothing - Log do nothing - -Trigger the NFV-MANO fault alarm list rebuild in the NFVO (external action) - #do nothing - Log do nothing - -Check Alarm List Rebuilt Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Alarm List Rebuilt Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm List Rebuilt Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Alarm Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Alarm Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Alarm cleared Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check Alarm cleared Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Alarm Cleareance Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - - -Check Alarm Clerance Notification Http POST Request Body changeType attribute Is - [Arguments] ${type} - #do nothing - Log do nothing - - -Configure Notification Alarm List Rebuilt Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Alarm Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Alarm Cleareance Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} diff --git a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot index fb9e7b27b..baf21e676 100644 --- a/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOFaultManagement-API/Subscriptions.robot @@ -1,11 +1,5 @@ *** Settings *** -Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library DependencyLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} -Library OperatingSystem -Library JSONLibrary -Library JSONSchemaLibrary schemas/ *** Test Cases *** POST Create a new Fault Management alarm subscription diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index fb12e380f..af9adaacd 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -44,12 +44,12 @@ ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check #${callback_endpoint_error} /endpoint_404 #${sleep_interval} 20s -#${total_polling_time} 2 min -#${polling_interval} 10 sec +${total_polling_time} 2 min +${polling_interval} 10 sec ${notification_request} [] ${notification_response} [] -#${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${MOCK_SERVER_JAR} ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar ${callbackResp} 127.0.0.1 \ No newline at end of file -- GitLab From a1931f80c384c392467e338f89f3926b5a03fe60 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:13:50 +0500 Subject: [PATCH 196/211] delete unused variables from variables.txt file --- .../NFVMANOFaultManagement-API/environment/variables.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt index af9adaacd..62dcfc043 100644 --- a/SOL009/NFVMANOFaultManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOFaultManagement-API/environment/variables.txt @@ -27,14 +27,14 @@ ${invalid_alarm_filter} badFilter ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${Etag}= an etag -#${Etag_modified}= a modified etag + ${NFVMANO_DUPLICATION} 1 ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f -#${faultyResourceType} + ${notification_type} AlarmNotification ${callback_port} 9091 @@ -42,8 +42,8 @@ ${callback_uri} http://localhost:${callback_port} ${unreachable_callback_uri} http://unreachable-callbackUri-error-422 ${callback_endpoint} /endpoint ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /endpoint_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From 7ed25da80872a56af8edd1ea74e493c523ae2016 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:29:43 +0500 Subject: [PATCH 197/211] update schemas and document version --- .../CompileLogTask.robot | 16 +- .../IndividualLoggingJob.robot | 14 +- .../IndividualReport.robot | 14 +- .../IndividualSubscription.robot | 14 +- .../LoggingJobs.robot | 36 +- .../NotificationEndpoint.robot | 2 +- .../Notifications.robot | 2 +- .../Subscriptions.robot | 28 +- .../schemas/LogReport.schema.json | 298 +++++----- ...LogReportAvailableNotification.schema.json | 202 +++---- .../schemas/LoggingJob.schema.json | 546 ++++++++---------- .../schemas/LoggingJobs.schema.json | 114 +--- .../schemas/LogmSubscription.schema.json | 280 ++++----- .../schemas/LogmSubscriptions.schema.json | 49 +- 14 files changed, 727 insertions(+), 888 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot index 696be0399..7fba31e08 100644 --- a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot +++ b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot @@ -13,7 +13,7 @@ Request to compile the logged data into a file - Synchronous mode ... Test title: Request to compile the logged data into a file - Synchronous mode ... Test objective: The objective is to request to compile the logged data into a file in synchronous mode and perform a JSON schema validation on the returned log report data structure ... Pre-conditions: logging job is available - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO can decide immediately what to respond to a compile request ... Post-Conditions: none @@ -27,7 +27,7 @@ Request to compile the logged data into a file - Asynchronous mode ... Test title: Request to compile the logged data into a file - Asynchronous mode ... Test objective: The objective is to request to compile the logged data into a file in asynchronous mode ... Pre-conditions: logging job is available - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO can not decide immediately what to respond to a compile request ... Post-Conditions: log report is available to the API consumer @@ -41,7 +41,7 @@ Request to compile the logged data into a file - Already Processing ... Test title: Request to compile the logged data into a file - Already Processing ... Test objective: The objective is to request to compile the logged data into a file when a log data compilation and report creation is already ongoing, or a log report has just been created, for the specified logging job at the time of processing the request ... Pre-conditions: none - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ Request to compile the logged data into a file with unprocessable entity ... Test title: Request to compile the logged data into a file with unprocessable entity ... Test objective: The objective is to test that the rrequest to compile the logged data into a file fails when error in request body. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Compiled Log Data - Method not implemented ... Test title: GET Compiled Log Data - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PUT Compiled Log Data - Method not implemented ... Test title: PUT Compiled Log Data - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Compiled Log Data - Method not implemented ... Test title: PATCH Compiled Log Data - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ DELETE Compiled Log Data - Method not implemented ... Test title: DELETE Compiled Log Data - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update compiled log data. ... Pre-conditions: none - ... Reference: clause 8.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot index a6bc0ecff..130d0c2ad 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot @@ -12,7 +12,7 @@ POST Individual Logging Job - Method not implemented ... Test title: POST Individual Logging Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an Indiviual Logging ... Pre-conditions: none - ... Reference: clause 8.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET individual Logging Job ... Test title: Get individual Logging Job ... Test objective: The objective is to test the retrieval of an individual logging job and perform a JSON schema validation of the collected job data structure ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET individual Logging Job with invalid resource identifier ... Test title: Get individual Logging Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual logging job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual Logging Job - Method not implemented ... Test title: PUT Individual Logging Job - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Logging Job ... Pre-conditions: none - ... Reference: clause 8.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Individual Logging Job - Method not implemented ... Test title: PATCH Individual Logging Job - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new Logging Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Individual Logging Job ... Test title: DELETE Individual Logging Job ... Test objective: The objective is to test the deletion of an individual logging job ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Logging Job is no more available. @@ -88,7 +88,7 @@ DELETE Individual Logging Job with invalid resource identifier ... Test title: DELETE Individual Logging Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual logging job fails when using an invalid resource identifier ... Pre-conditions: Logging Job is already created. - ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot index e6893d687..a261e591b 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot @@ -12,7 +12,7 @@ POST Individual Log Report - Method not implemented ... Test title: POST Individual Log Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Log Report ... Test title: Get Individual Log Report ... Test objective: The objective is to test the retrieval of an individual log report and perform a JSON schema validation of the collected report data structure ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get Individual Log Report (asynchronous) ... Test title: Get Individual Log Report (asynchronous) ... Test objective: The objective is to test the retrieval of an individual log report is ongoing and no log report is available yet. ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ Get Individual Log Report with invalid resource endpoint ... Test title: Get Individual Log Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual log report fails when using an invalid resource endpoint. ... Pre-conditions: One or more log reports are set. - ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual Log Report - Method not implemented ... Test title: PUT Individual Log Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ PATCH Individual Log Report - Method not implemented ... Test title: PATCH Individual Log Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existinglog report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ DELETE Individual Log Report - Method not implemented ... Test title: DELETE Individual Log Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing log report. ... Pre-conditions: none - ... Reference: clause 8.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot index d89a0bdc3..edd620e45 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Subscription - invalid resource identifier ... Test title: GET Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual Subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test the deletion of an individual subscription ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The is not available anymore in the NFV-MANO @@ -52,7 +52,7 @@ DELETE Individual Subscription - invalid resource identifier ... Test title: DELETE Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PUT Individual Subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ PATCH Individual Subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription ... Pre-conditions: none - ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot index 5b2599a5f..62fc7b88f 100644 --- a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot +++ b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot @@ -12,7 +12,7 @@ POST Create a new logging job ... Test title: POST Create a new logging job ... Test objective: The objective is to create a new logging job, and perform the JSON schema validation of the operation HTTP response. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: logging job created @@ -27,7 +27,7 @@ GET information about logging jobs ... Test title: GET information logging jobs ... Test objective: The objective is to retrieve information about logging jobs, and perform the JSON schema validation of the operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Logging jobs - invalid attribute-based filter ... Test title: GET Logging jobs - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Logging jobs - invalid attribute selector ... Test title: GET Logging jobs - invalid attribute selector ... Test objective: The objective is to test that the retrieval of logging jobs fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ GET Logging jobs - Bad Request Response too Big ... Test title: GET Logging jobs - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Logging job fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ GET information about logging jobs with attribute-based filter ... Test title: GET information about logging jobs with attribute-based filter ... Test objective: The objective is to retrieve information about the logging jobs with attribute filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ GET information about logging jobs with "all_fields" attribute selector ... Test title: GET information about logging jobs with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about logging jobs with "all_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ GET information about Logging Jobs with "exclude_default" attribute selector ... Test title: GET information about Logging Jobs with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about logging jobs with "exclude_default" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ GET information about Logging Jobs with "fields" attribute selector ... Test title: GET information about Logging Jobs with fields attribute selector ... Test objective: The objective is to retrieve information about Logging Jobs with fields attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ GET information about Logging Jobs with "exclude_fields" attribute selector ... Test title: GET information about Logging Jobs with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the Logging Jobs with "exclude_fields" attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -144,7 +144,7 @@ GET information about Logging Jobs with "fields" and "exclude_default" attribute ... Test title: GET information about Logging Jobs with fields and exclude_default attribute selector ... Test objective: The objective is to retrieve information about Logging Jobs with fields and exclude_default attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ GET information about Logging Jobs with Paged Response ... Test title: GET information about Logging Jobs with Paged Response ... Test objective: The objective is to query information about Logging Jobs to get Paged Response. ... Pre-conditions: At least one logging job is created. - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -170,7 +170,7 @@ GET information about Logging Jobs with malformed authorization token ... Test title: GET information about Logging Jobs with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using malformed authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -182,7 +182,7 @@ GET information about Logging Jobs without authorization token ... Test title: GET information about Logging Jobs without authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when omitting the authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -194,7 +194,7 @@ GET information about Logging Jobs with expired or revoked authorization token ... Test title: GET information about Logging Jobs with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about Logging Jobs fails when using expired or revoked authorization token. ... Pre-conditions: none - ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -206,7 +206,7 @@ PUT Logging Jobs - Method not implemented ... Test title: PUT Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -218,7 +218,7 @@ PATCH Logging Jobs - Method not implemented ... Test title: PATCH Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -230,7 +230,7 @@ DELETE Logging Jobs - Method not implemented ... Test title: DELETE Logging Jobs - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 8.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot index 1fd55de42..06d258e56 100644 --- a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ Log Report Available Notification ... Test title: Log Report Available Notification ... Test objective: The objective is to test that Log Report Available Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for log report available notification is available in the NFV-MANO. - ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/Notifications.robot b/SOL009/NFVMANOLogManagement-API/Notifications.robot index 124d7f743..ebba57878 100644 --- a/SOL009/NFVMANOLogManagement-API/Notifications.robot +++ b/SOL009/NFVMANOLogManagement-API/Notifications.robot @@ -16,7 +16,7 @@ Log Report Avaliable Notification ... Test title: Log Report Avaliable Notification ... Test objective: The objective is to test the dispatch of Log Report Avaliable Notification when new log report is available in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: none - ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index 970ba04e0..55e7a682a 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET all Subscriptions ... Test title: GET all Subscriptions ... Test objective: The objective is to test the retrieval list of active subscriptions list to log management notifications and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Subscriptions with attribute-based filter ... Test title: GET Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of active subscriptions list to log management notifications using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Subscriptions with Paged Response ... Test title: GET Subscriptions with Paged Response ... Test objective: The objective is to query information of active subscriptions list to log management notifications to get Paged Response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Subscriptions - invalid attribute-based filter ... Test title: GET Subscriptions - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET Subscriptions - Bad Request Response too Big ... Test title: GET Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET Subscriptions - invalid resource endpoint ... Test title: GET Subscriptions - invalid resource endpoint ... Test objective: The objective is to test that the retrieval of active subscriptions list to log management notifications fails when using invalid resource endpoint. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ Create new Subscription ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription to log management notification and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The subscription is successfully set and it matches the issued subscription @@ -138,7 +138,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO @@ -154,7 +154,7 @@ Create request for duplicated Subscription creating duplicated subscriptions ... Test title: Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription @@ -169,7 +169,7 @@ PUT Subscriptions - Method not implemented ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -181,7 +181,7 @@ PATCH Subscriptions - Method not implemented ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ DELETE Subscriptions - Method not implemented ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions ... Pre-conditions: none - ... Reference: clause 8.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 8.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json index 3e2d3219f..35eabbecc 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReport.schema.json @@ -1,176 +1,156 @@ { - "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. It shall comply with the provisions defined in table 8.6.2.7-1.\n", - "type": "object", - "required": [ - "id", - "objectInstanceId", - "compilationTrigger", - "readyTime", - "fileFormat", - "fileLocationInfo", - "securityAndIntegrityInfo", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } + "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. * NOTE:\tIt is not specified in the present document how the NFV-MANO functional entity's private\n key is provided to the NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "id", + "objectInstanceId", + "compilationTrigger", + "readyTime", + "fileFormat", + "fileLocationInfo", + "securityAndIntegrityInfo", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] }, - "required": [ - "type", - "objectId" - ] - }, - "compilationTrigger": { - "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.", - "type": "string", - "enum": [ - "ON_DEMAND", - "AUTOMATIC" - ] - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the compiled log file in bytes, if known.", - "type": "integer", - "format": "int32" - }, - "fileFormat": { - "description": "The encoding used by the file.", - "type": "string" - }, - "fileLocationInfo": { - "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.", - "type": "object", - "required": [ - "protocol", - "fileEndpoint" - ], - "properties": { - "protocol": { - "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228 [i.11],\n using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.", - "type": "string", - "enum": [ - "HTTPS", - "SFTP", - "SCP", - "FTPS" - ] - }, - "fileEndpoint": { - "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.", - "type": "string", - "format": "URI" - } + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } }, - "securityAndIntegrityInfo": { - "description": "Security and integrity information for the compilation of the log files.", - "type": "object", - "required": [ - "algorithm", - "hash", - "logFileSignature", - "signingCertificate" - ], - "properties": { - "algorithm": { - "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.", - "type": "string" - }, - "encryptionPublicKey": { - "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.", - "type": "string" - }, - "cipherAlgorithm": { - "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14].", - "type": "string" - }, - "logFileSignature": { - "description": "Signature to the compiled log file generated with the NFV-MANO functional entity’s private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\".", - "type": "string" - }, - "signingCertificate": { - "description": "X.509 certificate with the NFV-MANO functional entity’s public key used for verifying the log report and compiled log file signatures.", - "type": "string" - } + "required": ["type", "objectId"] + }, + "compilationTrigger": { + "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.", + "type": "string", + "enum": ["ON_DEMAND", "AUTOMATIC"] + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "The size of the compiled log file in bytes, if known.", + "type": "integer", + "format": "int32" + }, + "fileFormat": { + "description": "The encoding used by the file.", + "type": "string" + }, + "fileLocationInfo": { + "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.", + "type": "object", + "required": ["protocol", "fileEndpoint"], + "properties": { + "protocol": { + "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228,\n using explicit mode as specified in IETF RFC 4217. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.", + "type": "string", + "enum": ["HTTPS", "SFTP", "SCP", "FTPS"] + }, + "fileEndpoint": { + "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.", + "type": "string", + "format": "URI" } - }, - "_links": { - "description": "Links for this resource.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { + } + }, + "securityAndIntegrityInfo": { + "description": "Security and integrity information for the compilation of the log files.", + "type": "object", + "required": [ + "algorithm", + "hash", + "logFileSignature", + "signingCertificate" + ], + "properties": { + "algorithm": { + "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used", + "type": "string" + }, + "hash": { + "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.", + "type": "string" + }, + "encryptionPublicKey": { + "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012.", + "type": "string" + }, + "logFileSignature": { + "description": "Signature to the compiled log file generated with the NFV-MANO functional entityΓÇÖs private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\". See note.", + "type": "string" + }, + "signingCertificate": { + "description": "X.509 certificate with the NFV-MANO functional entityΓÇÖs public key used for verifying the log report and compiled log file signatures.", + "type": "string" + } + } + }, + "_links": { + "description": "Links for this resource.", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "objects": { - "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json index e1d684399..68b80a5a1 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogReportAvailableNotification.schema.json @@ -1,126 +1,112 @@ { - "description": "This notification informs the receiver that the log report of the NFV-MANO functional entity is available. It shall comply with the provisions defined in table 8.6.2.4-1. The notification shall be triggered by the NFV-MANO functional entity when log information has been collected by the logging job and the log report is available.", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"LogReportAvailableNotification\" for this notification type.", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "description": "This notification informs the receiver that the log report of the NFV-MANO functional entity is available. It shall comply with the provisions defined in table 8.6.2.4-1. The notification shall be triggered by the NFV-MANO functional entity when log information has been collected by the logging job and the log report is available.", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "objectInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"LogReportAvailableNotification\" for this notification type.", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "objectInstanceId": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" + "required": ["type", "objectId"] + }, + "_links": { + "description": "Links to resources related to this notification.", + "type": "object", + "required": ["subscription", "logReports"], + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } } }, - "required": [ - "type", - "objectId" - ] - }, - "_links": { - "description": "Links to resources related to this notification.", - "type": "object", - "required": [ - "subscription", - "logReports" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "objectInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "LoggingJob": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } - }, - "LoggingJob": { + } + }, + "logReports": { + "description": "Link from which the available log report can be obtained. Due to the relationship of the logging job compilation and the logging information availability reporting, more than one logReport notification link can be provided.", + "type": "array", + "items": { "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "logReports": { - "description": "Link from which the available log report can be obtained. Due to the relationship of the logging job compilation and the logging information availability reporting, more than one logReport notification link can be provided.", - "type": "array", - "items": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json index d7dd8b5d5..5521b76ab 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJob.schema.json @@ -1,353 +1,297 @@ { - "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "jobCriteria", - "jobConfig", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", - "type": "array", - "items": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", - "type": "object", - "properties": { - "type": { - "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", - "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] - }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subObjectId": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "required": [ - "type", - "objectId" - ] - } - }, - "jobCriteria": { - "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "description": "This type represents a logging job. It shall comply with the provisions defined in table 8.6.2.6-1.", + "type": "object", + "required": ["id", "objectInstanceIds", "jobCriteria", "jobConfig", "_links"], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectInstanceIds": { + "description": "Identifiers of the object instance for which logging information is collected. This attribute shall contain the identifier of the instance of the object that is logged according to their type.", + "type": "array", + "items": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", "type": "object", - "required": [ - "loggingType" - ], "properties": { - "loggingType": { - "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", "type": "string", "enum": [ - "MESSAGES", - "SERVICES", - "SYSTEM" + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" ] }, - "messagesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", - "type": "object", - "required": [ - "direction" - ], - "properties": { - "direction": { - "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", - "type": "string", - "enum": [ - "IN", - "OUT", - "ALL" - ] - }, - "matchingPatterns": { - "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", - "type": "array", - "items": { - "type": "object", - "anyOf": [ - { - "required": [ - "srcIpAddress" - ] - }, - { - "required": [ - "dstIpAddress" - ] - }, - { - "required": [ - "requestMethod" - ] - }, - { - "required": [ - "requestUriPattern" - ] - }, - { - "required": [ - "responseCodes" - ] - } - ], - "properties": { - "srcIpAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "requestMethod": { - "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", - "type": "string" - }, - "requestUriPattern": { - "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", - "type": "string" - }, - "dstIpAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "responseCodes": { - "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", - "type": "array", - "items": { - "type": "string" - } - }, - "headerField": { - "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", - "type": "string" - }, - "headerValue": { - "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", - "type": "string" - }, - "bodyValues": { - "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", - "type": "string" - } - } - } - } - } - }, - "servicesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", - "type": "object", - "properties": { - "logGarbageCollection": { - "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", - "type": "boolean" - } - } + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "systemLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", - "type": "object", - "required": [ - "systemLogs", - "severityLevel" - ], - "properties": { - "systemLogs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", - "type": "object" - }, - "severityLevelScheme": { - "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", - "type": "string" - }, - "severityLevel": { - "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", - "type": "number" - } - } + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" } - } - }, - "jobConfig": { - "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", - "type": "object", - "required": [ - "reportingCondition", - "securityConf" - ], - "properties": { - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "endTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "reportingCondition": { - "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", - "required": [ - "reportingType" - ], - "properties": { - "reportingType": { - "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", - "type": "string", - "enum": [ - "REPORTING_ON_COMPILATION", - "NO_REPORTING" - ] - }, - "minimumReportingPeriod": { - "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", - "type": "integer", - "format": "int32" - } - } - }, - "compileBySizeValue": { - "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", - "type": "integer", - "format": "int32" - }, - "compileByTimerValue": { - "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", - "type": "integer", - "format": "int32" - }, - "securityConf": { - "description": "Configuration about the security aspects of the logging job.", - "type": "object", - "properties": { - "logFileEncryption": { - "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", - "required": [ - "encryptionCertificate", - "cipherAlgorithm" - ], + }, + "required": ["type", "objectId"] + } + }, + "jobCriteria": { + "description": "This type represents collection criteria for logging jobs. * NOTE:\tThe value of the loggingType has dependency on the object that is requested to be logged\n (refer to the CreateLoggingJobRequest): a) the logging of messages is only applicable to\n ManoServiceInterface and ConsumedManoInterface objects.", + "type": "object", + "required": ["loggingType"], + "properties": { + "loggingType": { + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entityΓÇÖs system enabled by the provider.\nSee note.", + "type": "string", + "enum": ["MESSAGES", "SERVICES", "SYSTEM"] + }, + "messagesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. * NOTE:\tIf a matching pattern is present, at least one of the \"srcIpAddress\", \"dstIpAddress\", \"requestMethod\",\n \"requestUriPattern\" or \"responseCodes\" shall be provided.", + "type": "object", + "required": ["direction"], + "properties": { + "direction": { + "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", + "type": "string", + "enum": ["IN", "OUT", "ALL"] + }, + "matchingPatterns": { + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages. See note.", + "type": "array", + "items": { "type": "object", + "anyOf": [ + { + "required": ["srcIpAddress"] + }, + { + "required": ["dstIpAddress"] + }, + { + "required": ["requestMethod"] + }, + { + "required": ["requestUriPattern"] + }, + { + "required": ["responseCodes"] + } + ], "properties": { - "encryptionCertificate": { - "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "srcIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "requestMethod": { + "description": "HTTP request method to be matched. To match, the HTTP request method of the message shall be the same as the value of this attribute. Valid values are specified in IETF RFC 7231. The API producer shall support this attribute.", + "type": "string" + }, + "requestUriPattern": { + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", "type": "string" }, - "cipherAlgorithm": { - "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "dstIpAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "responseCodes": { + "description": "HTTP response codes or patterns to match. A list of all valid HTTP response codes and their specification documents can be obtained from the HTTP status code registry. In addition, if supported, the following patterns may be used (case-insensitive): - \"1XX\": for matching any kind of informational response. - \"2XX\": for matching any kind of success response. - \"3XX\": for matching any kind redirection response. - \"4XX\": for matching any kind of client error response. - \"5XX\": for matching any kind of server error response.\nThe API producer shall support this attribute", "type": "array", "items": { - "type": "string", - "minItems": 1 + "type": "string" } }, - "encryptAndSignOrder": { - "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "headerField": { + "description": "Name of the header field to be matched. The header field name shall be one of the supported fields in a request message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a response message as defined in clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance with the \"direction\" criteria input. The API producer may support this attribute.", "type": "string" - } - } - }, - "logTransferSecurity": { - "description": "Information about the security measures for retrieving/accessing the compiled log files.", - "type": "object", - "properties": { - "publicKey": { - "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", + }, + "headerValue": { + "description": "Value in the header to be matched. To match, the value in the header field indicated by \"headerField\" shall be the same as in this attribute. Shall be provided if a \"headerField\" is provided. The API producer may support this attribute.", + "type": "string" + }, + "bodyValues": { + "description": "A list of strings to be matched in the body part of the interface message (e.g., the body of an HTTP message). If provided, only messages with text in the body part containing all the values from the list shall match the filter. In addition to a matching filter for the body of the message, a corresponding \"headerField\" filter shall also be provided, with \"headerField\" set to \"Content-Type\", to restrict matching to appropriate textual payloads such as \"application/json\" or \"text/plain\". The API producer may support this attribute", "type": "string" } } } } } - } - }, - "logReports": { - "description": "Information about available log reports created by the logging job.", - "type": "array", - "items": { + }, + "servicesLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. * NOTE:\tIn the present version of the present document, only one attribute, i.e.\n \"logGarbageCollection\", is available.", + "type": "object", + "properties": { + "logGarbageCollection": { + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. See note.", + "type": "boolean" + } + } + }, + "systemLogDetail": { + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. * NOTE:\tThe set of properties and values for this attribute are assumed to be known to the consumer\n by means defined outside of the present document.", "type": "object", - "required": [ - "logReportId", - "logReportLoc" - ], + "required": ["systemLogs", "severityLevel"], "properties": { - "logReportId": { - "description": "An identifier with the intention of being globally unique.\n", + "systemLogs": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "severityLevelScheme": { + "description": "Identifies a severity level scheme. The default value is \"rfc5424\", which represents the set of values specified in the clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used to signal different schemes.", "type": "string" }, - "logReportLoc": { - "description": "This type represents a link to a resource using an absolute URI.\n", + "severityLevel": { + "description": "The severity level, which determines the severity of the system messages to collect. The NFV-MANO functional entity shall collect system log messages, as indicated by the \"systemLogs\" attribute, with severity levels lower (i.e., more severe) or equal to the value provided by this present attribute.", + "type": "number" + } + } + } + } + }, + "jobConfig": { + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.\n* NOTE 1:\tThe minimumReportingPeriod is used to throttle possible flooding of reports by providing a lower\n limit on the gap between two log availability notification to be emitted by the same logging job.\n NOTE 2:\tMore than one logCompilingCondition is possible to provide a combination of different conditions\n for the compilation. This covers use cases when the compilation of the log can be based on, e.g.\n a timer value and a size value, whichever first condition is met first. For instance, compile a\n log every 3 600 seconds, or whenever during the 3 600 seconds period the log grows in\n size to 1 000 000 bytes.\n NOTE 3:\tThe value is indicative, as the actual size of the compiled log files might not match the provided\n compileBySizeValue due to possible deviations in the tracking of the size of the log data by the\n API producer, and the size of individual logged data entries when these are collected.", + "type": "object", + "required": ["reportingCondition", "securityConf"], + "properties": { + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "reportingCondition": { + "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", + "required": ["reportingType"], + "properties": { + "reportingType": { + "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", + "type": "string", + "enum": ["REPORTING_ON_COMPILATION", "NO_REPORTING"] + }, + "minimumReportingPeriod": { + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds. See note 1.", + "type": "integer", + "format": "int32" + } + } + }, + "compileBySizeValue": { + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2 and note 3.", + "type": "integer", + "format": "int32" + }, + "compileByTimerValue": { + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2.", + "type": "integer", + "format": "int32" + }, + "securityConf": { + "description": "Configuration about the security aspects of the logging job.", + "type": "object", + "properties": { + "logFileEncryption": { + "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", + "required": ["encryptionCertificate", "cipherAlgorithm"], "type": "object", - "required": [ - "href" - ], "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", + "encryptionCertificate": { + "description": "X.509 certificate with the public key to use for the encryption of the compiled log file.", + "type": "string" + }, + "cipherAlgorithm": { + "description": "Cryptographic algorithm to be used for the encryption of the compiled log file. More than one algorithm can be provided from higher (lower array index) to lower (higher array index) precedence. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + }, + "encryptAndSignOrder": { + "description": "Indication about the order in signing and encrypting the compiled log file. Valid values are: \"encryptFirst\", to apply the order \"first encrypt, then sign\", and \"signFirst\" for the order \"first sign, then encrypt\". Default value is \"encryptFirst\".", + "type": "string" + } + } + }, + "logTransferSecurity": { + "description": "Information about the security measures for retrieving/accessing the compiled log files.", + "type": "object", + "properties": { + "publicKey": { + "description": "The public key of the API consumer used for the client authentication with the file server. Shall be provided if required by the type of transfer protocol. May be omitted if the key has been provided to the API producer by other means, or if it has already been provided in some previous CreateLoggingJobRequest issued by the same API consumer, whose public key has not changed.", "type": "string" } } } } } - }, - "_links": { - "description": "Links for this resource.", + } + }, + "logReports": { + "description": "Information about available log reports created by the logging job.", + "type": "array", + "items": { "type": "object", - "required": [ - "self" - ], + "required": ["logReportId", "logReportLoc"], "properties": { - "self": { + "logReportId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "logReportLoc": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" } } - }, - "objects": { - "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", - "type": "array", - "items": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + } + } + }, + "_links": { + "description": "Links for this resource.", + "type": "object", + "required": ["self"], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objects": { + "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": ["href"], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } } - } \ No newline at end of file + } +} diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json index 92df600dc..86390e42b 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LoggingJobs.schema.json @@ -42,74 +42,49 @@ "type": "string" } }, - "required": [ - "type", - "objectId" - ] + "required": ["type", "objectId"] } }, "jobCriteria": { - "description": "This type represents collection criteria for logging jobs. It shall comply with the provisions defined in table 8.6.3.2-1.", + "description": "This type represents collection criteria for logging jobs. * NOTE:\tThe value of the loggingType has dependency on the object that is requested to be logged\n (refer to the CreateLoggingJobRequest): a) the logging of messages is only applicable to\n ManoServiceInterface and ConsumedManoInterface objects.", "type": "object", - "required": [ - "loggingType" - ], + "required": ["loggingType"], "properties": { "loggingType": { - "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entity’s system enabled by the provider.", + "description": "Type of logging. This defines the types of logged information to collect.\nPermitted values: - MESSAGES: logged NFV-MANO service interface messages. - SERVICES: logged messages about processes pertaining to NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO functional entityΓÇÖs system enabled by the provider.\nSee note.", "type": "string", - "enum": [ - "MESSAGES", - "SERVICES", - "SYSTEM" - ] + "enum": ["MESSAGES", "SERVICES", "SYSTEM"] }, "messagesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. It shall comply with the provisions defined in table 8.6.3.3-1.", + "description": "This type represents criteria for logging jobs to collect logged messages on NFV-MANO service interfaces. * NOTE:\tIf a matching pattern is present, at least one of the \"srcIpAddress\", \"dstIpAddress\", \"requestMethod\",\n \"requestUriPattern\" or \"responseCodes\" shall be provided.", "type": "object", - "required": [ - "direction" - ], + "required": ["direction"], "properties": { "direction": { "description": "The direction of the interface messages to match.\nPermitted values: - IN: input messages into the interface. - OUT: output messages from the interface. - ALL: both input and output messages into/from the interface.", "type": "string", - "enum": [ - "IN", - "OUT", - "ALL" - ] + "enum": ["IN", "OUT", "ALL"] }, "matchingPatterns": { - "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages.", + "description": "Patterns to be matched in the interface message. If provided, only messages that match all the values provided in the sub-attributes shall be logged. An API consumer can provide more than one \"matchingPattern\" if combinations of patterns are to be considered to match diverse sets of interface messages. See note.", "type": "array", "items": { "type": "object", "anyOf": [ { - "required": [ - "srcIpAddress" - ] + "required": ["srcIpAddress"] }, { - "required": [ - "dstIpAddress" - ] + "required": ["dstIpAddress"] }, { - "required": [ - "requestMethod" - ] + "required": ["requestMethod"] }, { - "required": [ - "requestUriPattern" - ] + "required": ["requestUriPattern"] }, { - "required": [ - "responseCodes" - ] + "required": ["responseCodes"] } ], "properties": { @@ -123,7 +98,7 @@ "type": "string" }, "requestUriPattern": { - "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", + "description": "Substring to be matched in the request URI. To match, the request URI shall include the value of\n this attribute as a substring. This is typically used to match messages which associate to RESTful\n resources, or to a specific API (e.g., by using the \"apiName\" of the API). The API producer shall\n support this attribute.", "type": "string" }, "dstIpAddress": { @@ -156,22 +131,19 @@ } }, "servicesLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. It shall comply with the provisions defined in table 8.6.3.4-1.", + "description": "This type represents criteria for logging jobs to collect logged messages about processes pertaining to NFV-MANO services. * NOTE:\tIn the present version of the present document, only one attribute, i.e.\n \"logGarbageCollection\", is available.", "type": "object", "properties": { "logGarbageCollection": { - "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services.", + "description": "Indicates to collect logged information about garbage collection processes associated to NFV-MANO services. See note.", "type": "boolean" } } }, "systemLogDetail": { - "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. It shall comply with the provisions defined in table 8.6.3.5-1.", + "description": "This type represents criteria for logging jobs to collect logged system events of the NFV-MANO functional entity. * NOTE:\tThe set of properties and values for this attribute are assumed to be known to the consumer\n by means defined outside of the present document.", "type": "object", - "required": [ - "systemLogs", - "severityLevel" - ], + "required": ["systemLogs", "severityLevel"], "properties": { "systemLogs": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", @@ -190,12 +162,9 @@ } }, "jobConfig": { - "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.", + "description": "This type represents configuration data for a logging job. It shall comply with the provisions defined in table 8.6.3.6-1. NOTE: The present document version does not specify the support for \"log compilation and reporting based on events\" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031.\n* NOTE 1:\tThe minimumReportingPeriod is used to throttle possible flooding of reports by providing a lower\n limit on the gap between two log availability notification to be emitted by the same logging job.\n NOTE 2:\tMore than one logCompilingCondition is possible to provide a combination of different conditions\n for the compilation. This covers use cases when the compilation of the log can be based on, e.g.\n a timer value and a size value, whichever first condition is met first. For instance, compile a\n log every 3 600 seconds, or whenever during the 3 600 seconds period the log grows in\n size to 1 000 000 bytes.\n NOTE 3:\tThe value is indicative, as the actual size of the compiled log files might not match the provided\n compileBySizeValue due to possible deviations in the tracking of the size of the log data by the\n API producer, and the size of individual logged data entries when these are collected.", "type": "object", - "required": [ - "reportingCondition", - "securityConf" - ], + "required": ["reportingCondition", "securityConf"], "properties": { "startTime": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", @@ -209,32 +178,27 @@ }, "reportingCondition": { "description": "Specifies the condition under which the producer will report to the consumer about the compiled log data.", - "required": [ - "reportingType" - ], + "required": ["reportingType"], "properties": { "reportingType": { "description": "Specifies the type of reporting condition. Permitted values: - REPORTING_ON_COMPILATION: the producer shall notify the consumer once the compilation of the\n collected logging data into a file is completed and a new log report is available.\n- NO_REPORTING: no reporting is requested (the consumer can query the logging jobs to know about the\n availability of new log reports).", "type": "string", - "enum": [ - "REPORTING_ON_COMPILATION", - "NO_REPORTING" - ] + "enum": ["REPORTING_ON_COMPILATION", "NO_REPORTING"] }, "minimumReportingPeriod": { - "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds.", + "description": "Specifies the minimum periodicity at which the producer will report to the consumer about the collected log information, in seconds. See note 1.", "type": "integer", "format": "int32" } } }, "compileBySizeValue": { - "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "description": "An indicative size threshold for compiling the collected log data, in bytes. It is used when the compilation is based on the size of the collected log data. If not present, a default value as specified with the \"defaultLogCompileBySizeValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2 and note 3.", "type": "integer", "format": "int32" }, "compileByTimerValue": { - "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used", + "description": "The periodicity threshold for compiling the filtered log, in seconds. It is used when the compilation is based on a timer (e.g., every 24 hours). If not present, a default value as specified with the \"defaultLogCompileByTimerValue\" configuration in the \"ManoEntityConfigurableParams\" shall be used. See note 2.", "type": "integer", "format": "int32" }, @@ -244,10 +208,7 @@ "properties": { "logFileEncryption": { "description": "Information about the encryption of the compiled log files. Shall be present if the log file is requested to be encrypted.", - "required": [ - "encryptionCertificate", - "cipherAlgorithm" - ], + "required": ["encryptionCertificate", "cipherAlgorithm"], "type": "object", "properties": { "encryptionCertificate": { @@ -287,10 +248,7 @@ "type": "array", "items": { "type": "object", - "required": [ - "logReportId", - "logReportLoc" - ], + "required": ["logReportId", "logReportLoc"], "properties": { "logReportId": { "description": "An identifier with the intention of being globally unique.\n", @@ -299,9 +257,7 @@ "logReportLoc": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -315,16 +271,12 @@ "_links": { "description": "Links for this resource.", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", @@ -338,9 +290,7 @@ "items": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json index 607b69aea..0187d942b 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscription.schema.json @@ -1,153 +1,153 @@ { - "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. It shall comply with the provisions defined in table 8.6.3.7-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).", - "type": "object", - "properties": { - "objectInstanceFilter": { - "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", - "type": "object", - "anyOf": [ - { - "oneOf": [ - { - "required": [ - "manoServiceIds" - ] - }, - { - "required": [ - "manoServiceNames" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "manoServiceInterfaceIds" - ] - }, - { - "required": [ - "manoServiceInterfaceNames" - ] - } - ] - }, - { - "oneOf": [ - { - "required": [ - "consumedManoInterfaceIds" - ] - }, - { - "required": [ - "consumedManoInterfaceNames" - ] - } - ] - } - ], - "properties": { - "manoEntityId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "manoServiceIds": { - "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceNames": { - "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", - "type": "array", - "items": { - "type": "string" - } - }, - "manoServiceInterfaceIds": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", - "type": "string" - } - }, - "manoServiceInterfaceNames": { - "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", - "type": "array", - "items": { - "type": "string" + "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.", + "type": "object", + "properties": { + "objectInstanceFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. It shall comply with the provisions defined in Table 4.3.2.2-1.", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "manoServiceIds" + ] + }, + { + "required": [ + "manoServiceNames" + ] } - }, - "consumedManoInterfaceIds": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + ] + }, + { + "oneOf": [ + { + "required": [ + "manoServiceInterfaceIds" + ] + }, + { + "required": [ + "manoServiceInterfaceNames" + ] } - }, - "consumedManoInterfaceNames": { - "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", - "type": "array", - "items": { - "type": "string" + ] + }, + { + "oneOf": [ + { + "required": [ + "consumedManoInterfaceIds" + ] + }, + { + "required": [ + "consumedManoInterfaceNames" + ] } + ] + } + ], + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "If present, match NFV-MANO services with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.", + "type": "array", + "items": { + "type": "string" } } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", - "type": "string", - "enum": [ - "LogReportAvailableNotification" - ] } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification See note.", + "type": "string", + "enum": [ + "LogReportAvailableNotification" + ] } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json index 75c0daedd..578b00f70 100644 --- a/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json +++ b/SOL009/NFVMANOLogManagement-API/schemas/LogmSubscriptions.schema.json @@ -1,19 +1,16 @@ -{ "type": "array", +{ + "type": "array", "items": { "description": "This type represents a subscription. It shall comply with the provisions defined in table 8.6.2.3-1.", "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], + "required": ["id", "callbackUri", "_links"], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. It shall comply with the provisions defined in table 8.6.3.7-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).", + "description": "This type represents a filter that can be used to subscribe for notifications related to log management events. * NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names\n of the notification types to facilitate automated code generation systems.", "type": "object", "properties": { "objectInstanceFilter": { @@ -23,42 +20,30 @@ { "oneOf": [ { - "required": [ - "manoServiceIds" - ] + "required": ["manoServiceIds"] }, { - "required": [ - "manoServiceNames" - ] + "required": ["manoServiceNames"] } ] }, { "oneOf": [ { - "required": [ - "manoServiceInterfaceIds" - ] + "required": ["manoServiceInterfaceIds"] }, { - "required": [ - "manoServiceInterfaceNames" - ] + "required": ["manoServiceInterfaceNames"] } ] }, { "oneOf": [ { - "required": [ - "consumedManoInterfaceIds" - ] + "required": ["consumedManoInterfaceIds"] }, { - "required": [ - "consumedManoInterfaceNames" - ] + "required": ["consumedManoInterfaceNames"] } ] } @@ -116,11 +101,9 @@ } }, "notificationTypes": { - "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification", + "description": "Match particular notification types. Permitted values: - LogReportAvailableNotification See note.", "type": "string", - "enum": [ - "LogReportAvailableNotification" - ] + "enum": ["LogReportAvailableNotification"] } } }, @@ -131,16 +114,12 @@ "_links": { "description": "Links to resources related to this resource.", "type": "object", - "required": [ - "self" - ], + "required": ["self"], "properties": { "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", - "required": [ - "href" - ], + "required": ["href"], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", -- GitLab From f9a9e421c2daa55722a4f186453d7c36ff21619e Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:46:34 +0500 Subject: [PATCH 198/211] add error 422 test case in Log Mgmt API --- .../NFVMANOLogManagementKeywords.robot | 120 ++++++++++-------- .../Subscriptions.robot | 27 +++- .../environment/variables.txt | 9 +- 3 files changed, 90 insertions(+), 66 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index e1be24d63..ee073a7f7 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -34,7 +34,7 @@ POST Create a new logging job Log Create a logging job Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Set Headers {"Authorization":"${AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/createLoggingJobRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${body} @@ -48,7 +48,7 @@ Check Post-Condition Logging job is created GET Logging Jobs Log Query to GET information about logging jobs. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response @@ -58,7 +58,7 @@ GET Logging Jobs with malformed authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${BAD_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${output}= Output response @@ -77,7 +77,7 @@ GET Logging Jobs with expired or revoked authorization token Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication Log The GET method queries using invalid token Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${output}= Output response @@ -85,7 +85,7 @@ GET Logging Jobs with expired or revoked authorization token GET Logging Job with invalid filter Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?attribute_not_exist=some_value ${outputResponse}= Output response @@ -93,7 +93,7 @@ GET Logging Job with invalid filter GET Logging Job with invalid selector Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=wrong_field ${outputResponse}= Output response @@ -102,7 +102,7 @@ GET Logging Job with invalid selector GET Logging Job with filter Log Query information about logging jobs with filters. Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?${alarm_filter}=${filter_value} ${outputResponse}= Output response @@ -111,7 +111,7 @@ GET Logging Job with filter GET Logging jobs with all_fields attribute selector Log Queries information about logging jobs, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -119,7 +119,7 @@ GET Logging jobs with all_fields attribute selector GET Logging Jobs with exclude_default attribute selector Log Queries information about logging jobs, using exclude_default Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} @@ -127,7 +127,7 @@ GET Logging Jobs with exclude_default attribute selector GET Logging Jobs with fields attribute selector Log Queries information about Logging Jobs, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -135,7 +135,7 @@ GET Logging Jobs with fields attribute selector GET Logging Jobs with fields and exclude_default attribute selector Log Queries information about Logging Jobs, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_default&fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -143,7 +143,7 @@ GET Logging Jobs with fields and exclude_default attribute selector GET Logging Jobs with exclude_fields attribute selector Log Query NFV-MANO The GET method queries information about multiple alarms, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} @@ -155,21 +155,21 @@ Check HTTP Response Header Contains Link PUT Logging Jobs log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} PATCH Logging Jobs log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} DELETE Logging Jobs log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} @@ -177,7 +177,7 @@ DELETE Logging Jobs Send Post request for individual Logging Job Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -185,7 +185,7 @@ Send Post request for individual Logging Job GET individual Logging Job Log Trying to get a Logging Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -199,7 +199,7 @@ Check HTTP Response Body Logging Job Identifier matches the requested Logging Jo GET individual Logging Job with invalid resource identifier Log Trying to perform a negative get, using erroneous logging Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -207,7 +207,7 @@ GET individual Logging Job with invalid resource identifier Send Put request for individual Logging Job Log Trying to perform a PUT (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -218,7 +218,7 @@ Send Put request for individual Logging Job Send Patch request for individual Logging Job Log Trying to perform a PATCH (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -227,7 +227,7 @@ Send Patch request for individual Logging Job Send Delete request for individual Logging Job Log Trying to delete an existing logging Job Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -240,14 +240,14 @@ Check Postcondition Logging Job is Deleted Send Delete request for individual Logging Job with invalid resource identifier Log Trying to perform a negative delete, using erroneous Logging Job identifier Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${erroneousLogJobId} ${output}= Output response Set Suite Variable ${response} ${output} Send Post request for Individual Log Report Log Trying to create new log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${newReportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -255,7 +255,7 @@ Send Post request for Individual Log Report Get Individual Log Report Log Trying to get log report Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -263,14 +263,14 @@ Get Individual Log Report Get Individual Log Report with invalid resource endpoint Log Trying to get a log report with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${erroneousReportId} ${output}= Output response Set Suite Variable ${response} ${output} Send Put request for Individual Log Report Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -280,7 +280,7 @@ Send Put request for Individual Log Report Send Patch request for Individual Log Report Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -290,7 +290,7 @@ Send Patch request for Individual Log Report Send Delete request for Individual Log Report Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/log_reports/${reportId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -300,7 +300,7 @@ Send Log data Request in Synchronous mode Pass Execution If ${SYNC_MODE} == 0 The compile process is asynchronous mode. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/compileLogRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -316,7 +316,7 @@ Send Log data Request in Asynchronous mode Pass Execution If ${SYNC_MODE} == 1 The compile process is synchronous mode. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/compileLogRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -329,7 +329,7 @@ Send Log data Request in Asynchronous mode Get Success notification log Trying to read an compiled file Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 @@ -340,7 +340,7 @@ Get Success notification Send Log data Request Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Set Headers {"Authorization":"${AUTHORIZATION}"} + Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/createLoggingJobRequest.json ${body}= Format String ${template} objectInstanceId=${objectInstanceId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${body} @@ -349,14 +349,14 @@ Send Log data Request Send Get Compiled Log Data Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${output}= Output response Set Suite Variable ${response} ${output} Send Put Compiled Log Data Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -366,7 +366,7 @@ Send Put Compiled Log Data Send Patch Compiled Log Data Log Trying to update log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -376,7 +376,7 @@ Send Patch Compiled Log Data Send Delete Compiled Log Data Log Trying to delete log report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/${logJobId}/compile_log ${output}= Output response Set Suite Variable ${response} ${output} @@ -398,7 +398,7 @@ Get all Subscriptions [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "application/json"} Set headers {"Content-Type": "application/json"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -406,7 +406,7 @@ Get all Subscriptions Get Subscriptions with attribute-based filters [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} ${output}= Output response Set Suite Variable ${response} ${output} @@ -414,7 +414,7 @@ Get all Subscriptions Get Subscriptions with invalid attribute-based filters [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} ${output}= Output response Set Suite Variable ${response} ${output} @@ -422,7 +422,7 @@ Get Subscriptions with invalid attribute-based filters Get subscriptions with filter "id" Log Get the list of active subscriptions using a filter "id" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?id=${subscription_id} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} @@ -433,26 +433,36 @@ Check PostCondition HTTP Response Body Subscription Matches the requested attrib Get subscriptions with filter "filter_notificationTypes" Log Get the list of active subscriptions using a filter "filter.notificationTypes" Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?filter.notificationTypes=${notification_type} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" - :FOR ${item} IN @{response['body']} - Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} END Send Post Request for Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${output}= Output response Set Suite Variable ${response} ${output} +Send Post Request for Subscription with unreachable callbackUri + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${unreachable_callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription ${template}= Get File jsons/subscriptions.json @@ -471,7 +481,7 @@ Check Postcondition Subscription Is Set Send Post Request for Duplicated Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false @@ -500,7 +510,7 @@ Check Postcondition Subscription Resource Returned in Location Header Is Availab Send Put Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -508,7 +518,7 @@ Send Put Request for Subscriptions Send Patch Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -516,14 +526,14 @@ Send Patch Request for Subscriptions Send Delete Request for Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} Get Individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -535,14 +545,14 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript GET individual Subscription with invalid resource identifier Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} Send Delete request for individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -554,19 +564,19 @@ Check Postcondition Subscription is Deleted Send Delete request for individual Subscription with invalid resource identifier Log Trying to delete a subscription in the VNFM with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Post request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} Send Put request for individual Subscription - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} @@ -575,7 +585,7 @@ Send Put request for individual Subscription Set Suite Variable @{response} ${output} Send Patch request for individual Threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${origOutput}= Output response Set Suite Variable ${origResponse} ${origOutput} diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index 55e7a682a..bcb37a538 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -117,9 +117,9 @@ Get subscriptions with filter "filter.notificationTypes" Check HTTP Response Body Json Schema Is LogmSubscriptions Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" -Create new Subscription +POST Create new Subscription [Documentation] Test ID: 8.3.4.5.9 - ... Test title: Create new Subscription + ... Test title: POST Create new Subscription ... Test objective: The objective is to test the creation of a new subscription to log management notification and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -132,10 +132,10 @@ Create new Subscription Check HTTP Response Body LogmSubscription Attributes Values Match the Issued Subscription Check Postcondition Subscription Is Set -Create request for duplicated Subscription not creating duplicated subscriptions +POST Create request for duplicated Subscription not creating duplicated subscriptions [Tags] no-duplicated-subs [Documentation] Test ID: 8.3.4.5.10 - ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions + ... Test title: POST Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -148,10 +148,10 @@ Create request for duplicated Subscription not creating duplicated subscriptions Check HTTP Response Header Contains Location Check Postcondition Subscription Resource Returned in Location Header Is Available -Create request for duplicated Subscription creating duplicated subscriptions +POST Create request for duplicated Subscription creating duplicated subscriptions [Tags] duplicated-subs [Documentation] Test ID: 8.3.4.5.11 - ... Test title: Create request for duplicated Subscription creating duplicated subscriptions + ... Test title: POST Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 @@ -198,4 +198,17 @@ DELETE Subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: none Send Delete Request for Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +POST Create new Subscription - Unprocessable entity + [Documentation] Test ID: 8.3.4.5.15 + ... Test title: POST Create new Subscription - Unprocessable entity + ... Test objective: The objective is to test that a new log management subscription is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: none + ... Reference: clause 8.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request for Subscription with unreachable callbackUri + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index 0b09b860f..143677df0 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -6,10 +6,10 @@ ${NFVMANO_SCHEMA} https ${logJobId} 0b000d4f1a2b67 ${erroneousLogJobId} wrongID - -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE} application/json ${CONTENT_TYPE_JSON} application/json @@ -30,6 +30,7 @@ ${origResponse} {} ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous -- GitLab From 3b8892a7a80aaf8ee7d94b40bede0dd5913c3620 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 10:54:36 +0500 Subject: [PATCH 199/211] comment out unused variabes from FM API variables.txt file --- SOL009/NFVMANOLogManagement-API/environment/variables.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index 143677df0..dc7f3f08f 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -16,10 +16,10 @@ ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${ACCEPT} application/json ${AUTH_USAGE} 1 -${FIELD_USAGE} 1 +#${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 @@ -35,8 +35,8 @@ ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s +#${callback_endpoint_error} /subs_404 +#${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From f608e4771166e5a5e5bafd9876ab951a816abfbb Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:34:12 +0500 Subject: [PATCH 200/211] modify POST requests of subscriptions to check for duplication --- .../NFVMANOLogManagementKeywords.robot | 14 ++++++++++++++ .../NFVMANOLogManagement-API/Subscriptions.robot | 4 ++-- .../environment/variables.txt | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index ee073a7f7..0639eef0a 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -479,6 +479,20 @@ Check Postcondition Subscription Is Set Check HTTP Response Status Code Is 200 Send Post Request for Duplicated Subscription + Log POST request for duplicated subscription + Pass Execution If ${NFVMANO_ALLOWS_DUPLICATE_SUBS}==0 Skipping test as duplicate subscription is not enabled + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/subscriptions.json + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for No Duplicated Subscription + Log POST request for duplicated subscription + Pass Execution If ${NFVMANO_ALLOWS_DUPLICATE_SUBS}==1 Skipping test as duplicate subscription is enabled Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index bcb37a538..a083876f1 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -142,7 +142,7 @@ POST Create request for duplicated Subscription not creating duplicated subscrip ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO - Send Post Request for Duplicated Subscription + Send Post Request for No Duplicated Subscription Check HTTP Response Status Code Is 303 Check HTTP Response Body Is Empty Check HTTP Response Header Contains Location @@ -210,5 +210,5 @@ POST Create new Subscription - Unprocessable entity ... Applicability: Notification endpoint is unreachable by the NFV-MANO. ... Post-Conditions: none Send Post Request for Subscription with unreachable callbackUri - Check HTTP Response Status Code Is 201 + Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index dc7f3f08f..c45c951ef 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -19,7 +19,7 @@ ${AUTH_USAGE} 1 #${FIELD_USAGE} 1 ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint -#${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 +${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 ${apiRoot} / ${apiMajorVersion} v1 -- GitLab From 4860bb46d24ed54d237f09a442682bc6ee3655b9 Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Tue, 19 Oct 2021 15:50:33 +0500 Subject: [PATCH 201/211] consolidate all keywords in one file for Log Mgmt --- .../NFVMANOLogManagement-API/ApiVersion.robot | 88 +----------- .../CompileLogTask.robot | 5 - .../IndividualLoggingJob.robot | 5 - .../IndividualReport.robot | 5 - .../IndividualSubscription.robot | 5 - .../LoggingJobs.robot | 5 - .../NFVMANOLogManagementKeywords.robot | 136 +++++++++++++++++- .../NotificationEndpoint.robot | 33 +---- .../Notifications.robot | 58 +------- .../Subscriptions.robot | 7 - 10 files changed, 139 insertions(+), 208 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot index 61144e06e..180a90ed6 100644 --- a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource NFVMANOLogManagementKeywords.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 - -*** Keywords *** -POST API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -GET API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PUT API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -PATCH API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -DELETE API Version with apiMajorVersion - Set Headers {"Accept":"${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK diff --git a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot index 7fba31e08..1740de0f9 100644 --- a/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot +++ b/SOL009/NFVMANOLogManagement-API/CompileLogTask.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** diff --git a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot index 130d0c2ad..bab3daa57 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualLoggingJob.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual Logging Job - Method not implemented diff --git a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot index a261e591b..19ba07bc6 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualReport.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Individual Log Report - Method not implemented diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot index edd620e45..d626639f2 100644 --- a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -1,9 +1,4 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary Resource NFVMANOLogManagementKeywords.robot *** Test Cases *** diff --git a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot index 62fc7b88f..1d5c86df1 100644 --- a/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot +++ b/SOL009/NFVMANOLogManagement-API/LoggingJobs.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt Resource NFVMANOLogManagementKeywords.robot -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false *** Test Cases *** POST Create a new logging job diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index 0639eef0a..e3bc90beb 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -605,4 +605,138 @@ Send Patch request for individual Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} \ No newline at end of file + Set Suite Variable @{response} ${output} + +Trigger the availability of Log Report (external action) + #do nothing + Log do nothing + +Check Log Report Available Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Log Report Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Log Report Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Configure Notification Log Report Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions for Notifications + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +Check resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body LogmSubscription.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +Post Log Report Available Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/LogReportAvailableNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot index 06d258e56..aa4a4906f 100644 --- a/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOLogManagement-API/NotificationEndpoint.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String +Resource NFVMANOLogManagementKeywords.robot Suite Setup Check resource existence and get CallbackUri *** Test Cases *** @@ -19,29 +14,3 @@ Log Report Available Notification ... Post-Conditions: none Post Log Report Available Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body LogmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -Post Log Report Available Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/LogReportAvailableNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceId} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} diff --git a/SOL009/NFVMANOLogManagement-API/Notifications.robot b/SOL009/NFVMANOLogManagement-API/Notifications.robot index ebba57878..62cd0a402 100644 --- a/SOL009/NFVMANOLogManagement-API/Notifications.robot +++ b/SOL009/NFVMANOLogManagement-API/Notifications.robot @@ -1,14 +1,7 @@ *** Setting *** -Resource environment/variables.txt -Suite Setup Create Sessions +Resource NFVMANOLogManagementKeywords.robot +Suite Setup Create Sessions for Notifications Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - *** Test Cases *** Log Report Avaliable Notification @@ -23,50 +16,3 @@ Log Report Avaliable Notification Trigger the availability of Log Report (external action) Check Log Report Available Notification Http POST Request Body Json Schema Is LogReportAvailableNotification Check Log Report Available Notification Http POST Request Body notificationType attribute Is LogReportAvailableNotification -*** Keywords *** -Trigger the availability of Log Report (external action) - #do nothing - Log do nothing - - -Check Log Report Available Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check Log Report Available Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Log Report Available Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check Threshold Crossed Notification Http POST Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Configure Notification Log Report Available Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock Http POST forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot index a083876f1..7ba7065fd 100644 --- a/SOL009/NFVMANOLogManagement-API/Subscriptions.robot +++ b/SOL009/NFVMANOLogManagement-API/Subscriptions.robot @@ -1,12 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary Resource NFVMANOLogManagementKeywords.robot -Library MockServerLibrary -Library Process Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true -- GitLab From 471b7068e54b45e74244dc55ebe6a7e1dcbd0aed Mon Sep 17 00:00:00 2001 From: "M. Rehan Abbasi" Date: Mon, 25 Oct 2021 10:14:48 +0500 Subject: [PATCH 202/211] delete unused variables from variables.txt file --- SOL009/NFVMANOLogManagement-API/environment/variables.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index c45c951ef..272f600ea 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -16,7 +16,7 @@ ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json ${ACCEPT} application/json ${AUTH_USAGE} 1 -#${FIELD_USAGE} 1 + ${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint ${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 @@ -35,8 +35,8 @@ ${callback_endpoint} /nfvmanologm/subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -#${callback_endpoint_error} /subs_404 -#${sleep_interval} 20s + + ${total_polling_time} 2 min ${polling_interval} 10 sec -- GitLab From da524b4613f32fa7dc9fec235fe8299f624e5190 Mon Sep 17 00:00:00 2001 From: bernini Date: Thu, 2 Dec 2021 09:20:11 +0100 Subject: [PATCH 203/211] Update README.md --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ec9611671..d1e18365c 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ This repository hosts the NFV API Conformance test specification for the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.05.01_60/gs_NFV-SOL002v030501p.pdf), [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.pdf), [SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_NFV-SOL005v030501p.pdf), -[SOL009](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_NFV-SOL009v030501p.pdf), -[SOL011](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/011/03.03.01_60/gs_NFV-SOL011v030301p.pdf), in their versions -v3.3.1 and [SOL012](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_NFV-SOL012v030401p.pdf) in its version v3.4.1. +[SOL009](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_NFV-SOL009v030501p.pdf) in their versions +v3.5.1, [SOL011](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/011/03.03.01_60/gs_NFV-SOL011v030301p.pdf) in its version 3.3.1, +and [SOL012](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_NFV-SOL012v030401p.pdf) in its version v3.4.1. -More information and download is available at [DGS/NFV-TST010ed351]. +More information and download is available at [DGS/NFV-TST010ed351](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=63665). **{- Disclaimer: The content of this repository is under development and related to a DRAFT, i.e. a working document, of ETSI ISG NFV.-}** @@ -23,6 +23,7 @@ The NFV API Conformance test specification is available in the following version | v2.6.1 | SOL002 SOL003 SOL005 v2.6.1 | [v2.6.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.6.1/) | | v2.7.1 | SOL002 SOL003 SOL005 v2.7.1 | [v2.7.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.7.1/) | | v3.3.1 | SOL002 SOL003 SOL005 v3.3.1
SOL009 SOL011 v3.3.1
SOL012 v3.4.1 | [v3.3.1](https://forge.etsi.org/rep/nfv/api-tests/tree/3.3.1/) | +| v3.5.1 | SOL002 SOL003 SOL005 v3.5.1
SOL009 v3.3.1
SOL011 v3.3.1
SOL012 v3.4.1 | WIP | ## Test Specification Overview -- GitLab From 2a066c0641a7e4e8b3584972740ea97c50d30e80 Mon Sep 17 00:00:00 2001 From: bernini Date: Thu, 2 Dec 2021 09:20:56 +0100 Subject: [PATCH 204/211] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d1e18365c..b419313b5 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The NFV API Conformance test specification is available in the following version | v2.6.1 | SOL002 SOL003 SOL005 v2.6.1 | [v2.6.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.6.1/) | | v2.7.1 | SOL002 SOL003 SOL005 v2.7.1 | [v2.7.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.7.1/) | | v3.3.1 | SOL002 SOL003 SOL005 v3.3.1
SOL009 SOL011 v3.3.1
SOL012 v3.4.1 | [v3.3.1](https://forge.etsi.org/rep/nfv/api-tests/tree/3.3.1/) | -| v3.5.1 | SOL002 SOL003 SOL005 v3.5.1
SOL009 v3.3.1
SOL011 v3.3.1
SOL012 v3.4.1 | WIP | +| v3.5.1 | SOL002 SOL003 SOL005 v3.5.1
SOL009 v3.5.1
SOL011 v3.3.1
SOL012 v3.4.1 | WIP | ## Test Specification Overview -- GitLab From 093776f4ef532add7c8c01ecdb5ef98c642ec7b7 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:41:30 +0100 Subject: [PATCH 205/211] fixed reference to SOL013 spec in SOL002 tests --- SOL002/VNFConfiguration-API/ApiVersion.robot | 20 +++++++++---------- .../VNFFaultManagement-API/ApiVersion.robot | 20 +++++++++---------- SOL002/VNFIndicator-API/ApiVersion.robot | 20 +++++++++---------- .../VNFLCMCoordination-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- 6 files changed, 60 insertions(+), 60 deletions(-) diff --git a/SOL002/VNFConfiguration-API/ApiVersion.robot b/SOL002/VNFConfiguration-API/ApiVersion.robot index 55a641360..03f15c0ec 100644 --- a/SOL002/VNFConfiguration-API/ApiVersion.robot +++ b/SOL002/VNFConfiguration-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/ApiVersion.robot b/SOL002/VNFFaultManagement-API/ApiVersion.robot index ed43b4b33..1a44e71cb 100644 --- a/SOL002/VNFFaultManagement-API/ApiVersion.robot +++ b/SOL002/VNFFaultManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/ApiVersion.robot b/SOL002/VNFIndicator-API/ApiVersion.robot index 009e8f533..96c76f692 100644 --- a/SOL002/VNFIndicator-API/ApiVersion.robot +++ b/SOL002/VNFIndicator-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLCMCoordination-API/ApiVersion.robot b/SOL002/VNFLCMCoordination-API/ApiVersion.robot index b1b0cad8c..11d89668e 100644 --- a/SOL002/VNFLCMCoordination-API/ApiVersion.robot +++ b/SOL002/VNFLCMCoordination-API/ApiVersion.robot @@ -14,7 +14,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot index c46eaeda0..182df54f0 100644 --- a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot +++ b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot index a9fef7b0d..19cb6597b 100644 --- a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot +++ b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.5.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From f87d7d79402b3cc0c6d22f7511f7db09f4028964 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:43:52 +0100 Subject: [PATCH 206/211] fixed reference to SOL013 spec in SOL003 tests --- .../VNFFaultManagement-API/ApiVersion.robot | 20 +++++++++---------- SOL003/VNFIndicator-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../VNFPackageManagement-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- 8 files changed, 80 insertions(+), 80 deletions(-) diff --git a/SOL003/VNFFaultManagement-API/ApiVersion.robot b/SOL003/VNFFaultManagement-API/ApiVersion.robot index 124d51e5e..34a5fc61d 100644 --- a/SOL003/VNFFaultManagement-API/ApiVersion.robot +++ b/SOL003/VNFFaultManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/ApiVersion.robot b/SOL003/VNFIndicator-API/ApiVersion.robot index 8445faaeb..51f651c59 100644 --- a/SOL003/VNFIndicator-API/ApiVersion.robot +++ b/SOL003/VNFIndicator-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ApiVersion.robot b/SOL003/VNFLifecycleManagement-API/ApiVersion.robot index adf8f7dbb..fab936dab 100644 --- a/SOL003/VNFLifecycleManagement-API/ApiVersion.robot +++ b/SOL003/VNFLifecycleManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot b/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot index a15fe5c36..21f2b1280 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/ApiVersion.robot b/SOL003/VNFPackageManagement-API/ApiVersion.robot index de85b4fee..41f0fbd75 100644 --- a/SOL003/VNFPackageManagement-API/ApiVersion.robot +++ b/SOL003/VNFPackageManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/ApiVersion.robot b/SOL003/VNFPerformanceManagement-API/ApiVersion.robot index 79cdead10..18203be32 100644 --- a/SOL003/VNFPerformanceManagement-API/ApiVersion.robot +++ b/SOL003/VNFPerformanceManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFSnapshotPackageManagement-API/ApiVersion.robot b/SOL003/VNFSnapshotPackageManagement-API/ApiVersion.robot index 2faac7da5..c154290c5 100644 --- a/SOL003/VNFSnapshotPackageManagement-API/ApiVersion.robot +++ b/SOL003/VNFSnapshotPackageManagement-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot index 555873c1c..d58e0d85e 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none -- GitLab From c424958098f655add2cf1e230eff939ea8423b60 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:44:55 +0100 Subject: [PATCH 207/211] fixed reference to SOL013 spec in SOL005 tests --- .../ApiVersion.robot | 20 +++++++++---------- SOL005/NSDManagement-API/ApiVersion.robot | 20 +++++++++---------- SOL005/NSFaultManagement-API/ApiVersion.robot | 20 +++++++++---------- SOL005/NSLCMCoordination-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../VNFPackageManagement-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- 7 files changed, 70 insertions(+), 70 deletions(-) diff --git a/SOL005/NFVICapacityInformation-API/ApiVersion.robot b/SOL005/NFVICapacityInformation-API/ApiVersion.robot index 7a3b7f8b1..2bd409479 100644 --- a/SOL005/NFVICapacityInformation-API/ApiVersion.robot +++ b/SOL005/NFVICapacityInformation-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/ApiVersion.robot b/SOL005/NSDManagement-API/ApiVersion.robot index 59efc49a7..2d7ba78bf 100644 --- a/SOL005/NSDManagement-API/ApiVersion.robot +++ b/SOL005/NSDManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/ApiVersion.robot b/SOL005/NSFaultManagement-API/ApiVersion.robot index 2d67fab77..19fd62840 100644 --- a/SOL005/NSFaultManagement-API/ApiVersion.robot +++ b/SOL005/NSFaultManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot index 92aae617c..9343f79aa 100644 --- a/SOL005/NSLCMCoordination-API/ApiVersion.robot +++ b/SOL005/NSLCMCoordination-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ApiVersion.robot b/SOL005/NSLifecycleManagement-API/ApiVersion.robot index a8c59a7e0..2427766bb 100644 --- a/SOL005/NSLifecycleManagement-API/ApiVersion.robot +++ b/SOL005/NSLifecycleManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/ApiVersion.robot b/SOL005/VNFPackageManagement-API/ApiVersion.robot index 2d491a223..033ec626e 100644 --- a/SOL005/VNFPackageManagement-API/ApiVersion.robot +++ b/SOL005/VNFPackageManagement-API/ApiVersion.robot @@ -12,7 +12,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -98,7 +98,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFSnapshotPackageManagement-API/ApiVersion.robot b/SOL005/VNFSnapshotPackageManagement-API/ApiVersion.robot index df3ac023c..8701c9474 100644 --- a/SOL005/VNFSnapshotPackageManagement-API/ApiVersion.robot +++ b/SOL005/VNFSnapshotPackageManagement-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From 803a87a0e297ead3876bbdc5cfcd9ae458408220 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:53:52 +0100 Subject: [PATCH 208/211] fixed reference to SOL013 spec in SOL009 tests --- .../ApiVersion.robot | 20 +++++++++---------- .../NFVMANOLogManagement-API/ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- 4 files changed, 40 insertions(+), 40 deletions(-) diff --git a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot index c7f5aff28..7bdc6705d 100644 --- a/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOFaultManagement-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot index 180a90ed6..f62263c94 100644 --- a/SOL009/NFVMANOLogManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOLogManagement-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index dbbbc836c..493f316fa 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -7,7 +7,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot index 89e174233..3dbcc8b51 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From 0aaf70f6d607fde9f5188543929bfd7129f4dbc3 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:55:09 +0100 Subject: [PATCH 209/211] fixed reference to SOL013 spec in SOL011 tests --- .../ApiVersion.robot | 20 +++++++++---------- .../ApiVersion.robot | 20 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/SOL011/NSInstanceUsageNotification-API/ApiVersion.robot b/SOL011/NSInstanceUsageNotification-API/ApiVersion.robot index 1b8c04385..55953557c 100644 --- a/SOL011/NSInstanceUsageNotification-API/ApiVersion.robot +++ b/SOL011/NSInstanceUsageNotification-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL011/NSLifecycleOperationGranting-API/ApiVersion.robot b/SOL011/NSLifecycleOperationGranting-API/ApiVersion.robot index a1f8eaaab..aedb3eec5 100644 --- a/SOL011/NSLifecycleOperationGranting-API/ApiVersion.robot +++ b/SOL011/NSLifecycleOperationGranting-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From a4ee81d4b6e62ece406912f1f3ebd7a4d4795945 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Mar 2022 15:55:55 +0100 Subject: [PATCH 210/211] fixed reference to SOL013 spec in SOL012 tests --- SOL012/PolicyManagement-API/ApiVersion.robot | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/SOL012/PolicyManagement-API/ApiVersion.robot b/SOL012/PolicyManagement-API/ApiVersion.robot index f26741e7f..ac2a5df81 100644 --- a/SOL012/PolicyManagement-API/ApiVersion.robot +++ b/SOL012/PolicyManagement-API/ApiVersion.robot @@ -9,7 +9,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented for this resource. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -21,7 +21,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully returns ApiVersionInformation. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -34,7 +34,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented for this resource. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented for this resource. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ POST API Version with apiMajorVersion - Method not implemented ... Test title: POST API version with apiMajorVersion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET API Version with apiMajorVersion ... Test title: GET API Version with apiMajorVersion ... Test objective: The objective is to test that GET method successfully returns ApiVersionInformation. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ PUT API Version with apiMajorVersion - Method not implemented ... Test title: PUT API Version with apiMajorVersion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ PATCH API Version with apiMajorVersion - Method not implemented ... Test title: PATCH API Version with apiMajorVersion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ DELETE API Version with apiMajorVersion - Method not implemented ... Test title: DELETE API Version with apiMajorVersion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented. ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v3.3.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From 320e3c59cc966a73b9fb01e76e8b23778d25a622 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 19 Apr 2022 12:00:26 +0000 Subject: [PATCH 211/211] Update README.md --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index b419313b5..9e3447ba5 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,6 @@ and [SOL012](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_6 More information and download is available at [DGS/NFV-TST010ed351](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=63665). -**{- Disclaimer: The content of this repository is under development and related to a DRAFT, i.e. a working document, of ETSI ISG NFV.-}** - - ## Available versions The NFV API Conformance test specification is available in the following versions: @@ -23,7 +20,7 @@ The NFV API Conformance test specification is available in the following version | v2.6.1 | SOL002 SOL003 SOL005 v2.6.1 | [v2.6.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.6.1/) | | v2.7.1 | SOL002 SOL003 SOL005 v2.7.1 | [v2.7.1](https://forge.etsi.org/rep/nfv/api-tests/tree/2.7.1/) | | v3.3.1 | SOL002 SOL003 SOL005 v3.3.1
SOL009 SOL011 v3.3.1
SOL012 v3.4.1 | [v3.3.1](https://forge.etsi.org/rep/nfv/api-tests/tree/3.3.1/) | -| v3.5.1 | SOL002 SOL003 SOL005 v3.5.1
SOL009 v3.5.1
SOL011 v3.3.1
SOL012 v3.4.1 | WIP | +| v3.5.1 | SOL002 SOL003 SOL005 v3.5.1
SOL009 v3.5.1
SOL011 v3.3.1
SOL012 v3.4.1 | [v3.5.1](https://forge.etsi.org/rep/nfv/api-tests/tree/3.5.1/) | ## Test Specification Overview -- GitLab